IIS a chybová hláška Operation not allowed

V případě, že odesíláte na server formulářová data metodou POST a překročíte max. povolenou velikost požadavku dojde k chybě 400 Operation not allowed. Hláška sama o sobě moc neříká, ale vězte, že byl překročen limit v těle požadavku, který má poměrně nízkou výchozí velikost a to 200kB. Tato velikost v drtivé většině případů zcela postačuje, ale mohou se vyskytnout výjimky – například importy objemějších dat přes formulářové pole textarea apod.


V případě, že dojte k této chybě, je třeba zvětšit maximální povolenou velikost požadavku a to nastavením příslušné hodnoty pro AspMaxRequestEntityAllowed v IIS. Přiřadit hodnotu lze přímou editací souboru Metabase.xml, což bych vřele nedoporučoval – daleko lepší je použít build-in administrační skripty, kterými lze programově řešit spousta potřebných věcí.
Tyto skripty se nacházejí standartne v C:\Inetpub\AdminScripts. Takže pokud spustíme command prompt, nejdřív se dostaneme do adresáře se skripty:

cd C:
cd C:\Inetpub\AdminScripts

Příkazem GET skriptu adsutil.vbs si pro jistotu nejdříve zjistíme aktuální hodnotu ASPMaxRequestEntityAllowed:

cscript adsutil.vbs get w3svc/ASPMaxRequestEntityAllowed

A pokud je třeba, můžeme ji následně modifikovat příkazem SET:

cscript adsutil.vbs set w3svc/AspMaxRequestEntityAllowed 104857600

Aby se provedené změny projevily, je třeba restartovat IIS (například příkazem IISRESET)

více podrobností v angličtině zde

Štítky: , , , ,

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

*