Update: Fehlermeldung "die Länge der Zeichenfolge übersteigt den in der MaxJsonLength-Eigenschaft festgelegten Wert" Zugriff auf eine ASP.NET 3.5 form


Problembeschreibung


Betrachten Sie das folgende Szenario:

  • Sie haben eine ASP.NET Web-Anwendung, die Microsoft.NET Framework 3.5 verwendet.
  • Die Anwendung hat eine Seite, die das UpdatePanel -Steuerelement verwendet.
  • Sie ASP.NET Web Form zugreifen und das UpdatePanel -Steuerelement versucht, Daten buchen, die mehr als 2,5 MB (MB).
In diesem Szenario ist das ASP.NET Web Form nicht angezeigt. Darüber hinaus erhalten Sie eine Fehlermeldung in einem Webbrowser, der der folgenden ähnelt:
Fehler: Sys.WebForms.PageRequestManagerServerErrorException: Fehler bei der Serialisierung oder Deserialisierung mit JSON JavaScriptSerializer. Die Länge der Zeichenfolge übersteigt den in der MaxJsonLength-Eigenschaft festgelegten Wert.
Hinweis Dieses Problem tritt auf, wenn die MaxJsonLength -Eigenschaft auf einen hohen Wert in der Datei Web.config festgelegt.

Ursache


Dieses Problem tritt wegen programmtechnischen System.web.extensions.dll Datei. Insbesondere wird der JavaScriptSerializer -Konstruktor Obergrenze auf den Höchstwert der MaxJsonLength -Eigenschaft. Der Höchstwert ist manchmal nicht groß genug. Dies wird im Abschnitt "Symptome" beschriebene Problem.

Problemlösung


Hotfix-Informationen

Ein unterstützter Hotfix ist inzwischen von Microsoft erhältlich. Es soll jedoch nur das Problem beheben, das in diesem Artikel beschrieben ist. Wenden Sie es nur auf Systeme an, bei denen dieses spezielle Problem auftritt.

Um dieses Problem zu beheben, wenden Sie sich an Microsoft Support Services, um den Hotfix zu erhalten. Eine vollständige Liste der Telefonnummern des Microsoft Product Support Services und Informationen zu den Supportkosten finden Sie auf der folgenden Microsoft-Website:Hinweis In bestimmten Fällen können Gebühren, die normalerweise für Support-Anrufe anfallen abgebrochen werden, wenn ein Microsoft-Supportmitarbeiter feststellt, dass ein bestimmtes Update Ihr Problem behebt. Die normalen Supportkosten gilt für zusätzliche Supportfragen und Probleme, die nicht für das betreffende Update qualifizieren.

Voraussetzungen

Um diesen Hotfix anwenden zu können, müssen Sie.NET Framework 3.5 SP1 auf einem Computer installiert, auf dem eines der folgenden Betriebssysteme ausgeführt wird:
  • Windows XP
  • Windows Server 2003
  • Windows Vista
  • Windows Server 2008

Neustartanforderung

Sie müssen den Computer neu starten, nachdem Sie diesen Hotfix anwenden, wenn die betroffenen Dateien verwendet werden, wenn Sie den Hotfix installieren. Fahren Sie zum Neustart des Computers zu vermeiden, bevor Sie den Hotfix Installieren einer ASP.NET Websites.

Informationen zu ersetzten Hotfixes


Dieser Hotfix ersetzt keine anderen Hotfixes.

Dateiinformationen

Die englische Version dieses Hotfixes weist Dateiattribute (oder spätere Attribute), die in der folgenden Tabelle aufgelistet sind. Die Datums- und Uhrzeitangaben für diese Dateien sind in Coordinated Universal Time (UTC) aufgelistet. Wenn Sie die Dateiinformationen anzeigen, werden sie in die lokale Zeit konvertiert. Um die Differenz zwischen UTC und der Ortszeit zu finden, verwenden Sie die Registerkarte Zeitzone unter Datum und Uhrzeit in der Systemsteuerung.
Für alle unterstützten Versionen von.NET Framework 3.5 X86 Basis
DateinameDateiversionDateigrößeDatumZeitPlattform
System.web.extensions.dll3.5.30729.45591,277,95224. Juni 201008:47x86
Für alle unterstützten Versionen von.NET Framework 3.5 X64 Basis
DateinameDateiversionDateigrößeDatumZeitPlattform
System.web.extensions.dll3.5.30729.45591,277,95224-Jun-201013:25x64
Für alle unterstützten IA-64-basierten Versionen von.NET Framework 3.5
DateinameDateiversionDateigrößeDatumZeitPlattform
System.web.extensions.dll3.5.30729.45591,277,95224-Jun-201017:34IA-64

Nach der Installation

Nach der Installation dieses Hotfixes fügen Sie das folgende Element der Datei Web.config hinzu, und geben Sie einen größeren Wert für die maximale Länge des Skripts.
<appSettings><add key=”aspnet:UpdatePanelMaxScriptLength” value=”
<value>” /></appSettings>

Um dieses Problem zu umgehen, Befehl Gacutil.exe die Interop-Assembly im globalen Assemblycache installieren.

Status


Microsoft hat bestätigt, dass es sich um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt „Eigenschaften“ aufgeführt sind.

Referenzen


Weitere Informationen über das UpdatePanel-Steuerelement finden Sie auf der folgenden Microsoft Developer Network (MSDN) Website:Weitere Informationen über das Element JsonSerialization finden Sie auf der folgenden MSDN-Website: