Ich bekomme Fehler mit einer Anwendung auf unserem Test-Webserver, auf dem .NET 4.0 installiert ist, wenn ich HTML in ein Formular eingabe. Ich bekomme die üblichen Fehler von:
Ein potenziell gefährlicher Request.Form-Wert wurde von der Client
Dies wird durch die Änderung in .NET 4.0 verursacht, die das Ausschalten der automatischen Validierung für die HTML-Eingabe deaktiviert. Ich kann das auf meinem lokalen Entwicklungscomputer beheben, indem ich das
hinzufüge %Vor% Anweisung in den Abschnitt <system.web>
meines root web.config, und .NET honoriert dann die <pages validateRequest="false" />
-Direktive, die sich im selben Stamm web.config befindet. Seltsamerweise musste ich IIS auf meinem lokalen Computer (Version 5.1) neu starten, damit diese Änderung funktioniert.
Wenn ich den Stamm web.config auf unserem Testserver deploye, bekomme ich immer noch die Validierungsfehler. Ich habe versucht, mit run > iisreset
, stoppen und Starten von IIS (das ist Version 6.0 auf dem Testserver), und ich habe sogar den Server neu gestartet, um .NET vollständig zu löschen. Meine Anwendung nimmt definitiv das neue root web.config auf (ich habe das getestet), aber die <httpRuntime requestValidationMode="2.0" />
-Direktive scheint einfach ignoriert zu werden.
Meine Anwendung ist als .NET 4.0-Anwendung auf meinem lokalen Computer und auf dem Testserver konfiguriert. Ich habe versucht, die Anwendung neu zu erstellen und sie auf dem Test-Webserver neu zu implementieren. Kann jemand vorschlagen, was ich tun muss, damit das funktioniert?
Vielen Dank im Voraus, Chris
Wenn Sie MVC3 verwenden, fügen Sie einen globalen Filter in Global.asax.cs
hinzu.
Tags und Links .net-4.0 asp.net validation requestvalidationmode