Falls ihr auch schon bei der Umstellung von .NET 2.0 auf .NET 3.5 (speziell nach der Installation von SP1) auf folgende Fehlermeldung gestoßen seid und bei google zu diesem Thema keine wirkliche Lösung gefunden habt:
“Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.”
Es ist so, dass die Behebung der Fehlermeldung in vielen Fällen absolut nichts mit der Konfiguration zu tun hat. In den meisten Einträgen bei google habe Ich eigentlich nur hinweise gefunden, dass man den ViewStateMac abstellen soll, damit wieder alles funktioniert.
Also entweder in der Web.Config:
oder direkt in der Page Direktive
<!--bla....bla...** Inherits="MyAssembly.MyPage" enableViewStateMac="False"-->
Dabei ist es in vielen Fällen viel einfacher! Bei mir war in einer alten Website das Problem, dass im form tag der MasterPage eine action angegeben war. Bisher wurde das “action” Attribut komplett ignoriert…was nun aber bei .NET 3.5 SP1 nicht mehr der Fall ist!
Bei mir hat es dann ausgereicht aus:
<form id="form1" action="SomePage.aspx" enctype="application/x-www-form-urlencoded"> </form>
einfach das “action” Attribut zu entfernen:
<form id="form1" enctype="application/x-www-form-urlencoded"></form>
Und schon funktionierte wieder alles so wie es sollte!
Hintergrund dazu ist, daß es mit .NET 3.5 SP1 nun möglich ist eine eigene Seite zu definieren, an die das Formular gesendet werden soll. Bisher wurde das Attribut einfach ignoriert…egal was da angegeben war. Wenn ich mich nicht irre, war es bei mir vorher sogar leer.
Ich kann also nur empfehlen bei Applikationen, die vor .NET 3.5 und SP1 wunderbar funktioniert haben zuerst kurz mal nach dem action Attribut im form tag zu gucken, bevor ihr an den Configs dreht!
Empfohlene Bücher:
C# von Kopf bis Fuß
Entwurfsmuster von Kopf bis Fuß
Objektorientierte Analyse und Design von Kopf bis Fuß
Ajax von Kopf bis Fuß
