divendres, de desembre 29, 2006

L'IIS, el "ASPMaxRequestEntityAllowed" i les modificacions a la MetaBase

L'IIS per defecte només permet POSTS en ASP de 200 Kbytes... si es supera aquest tamany dóna l'error "Request object error 'ASP 0104 : 80004005' Operación no Permitida". La solució és augmentar el Paràmetre de configuració ASPMaxRequestEntityAllowed del IIS, augmentant-ne el valor fins al tamany desitjat, a dins de la metabase.xml (arxiu situat en el meu cas a c:\windows\system32\inetsrv) .
Per exemple, un valor de 134217728 serien 128 Megues...

Quan cal tocar la MetaBase del IIS es pot fer de vàries maneres, o bé directament o com la solució que proposen als Kb de Microsoft tot fent servir els "Adminscripts". (en aquest cas seria algo com x:\>script adsutil.vbs set w3svc/ASPMaxRequestEntityAllowed 134217728 )

El problema pot venir si es toca la Metabase directament, i no s'ha marcat primer al IIS "Habilitar la modificación directa de archivos de metabase"...


El procediment per la modificació directa seria habilitar això i parar els Serveis del IIS, tal i com s'explica aquí.

Si pel contrari ens deixem el 1er per pas... els serveis de IIS no tornaran a arrancar, i es comencen a veure errors al visor de successos com aquest:


i també l'error Id 7025 del "Service Control Manager" idicant que "El servicio Servicio de administración IIS terminó con el error específico de servicio 2149648394 (0x8021080A)."

¿ Socorro?

No necessariament és un desastre, ja que la "salvació" no és díficil...
Normalment dins de "c:\windows\system32\inetsrv\history" s'hi trobaràn còpies de seguretat i restaurant-ne la més recent se soluciona el problema... (és a dir canviant-li el nom per MetaBase.xml i copiant-ho un directori per sobre)

En fi... cal anar en compte al tocar la Metabase directament...