Belirtiler
Aşağıdaki senaryoyu düşünün:
Not: MaxJsonLength özelliği Web.config dosyasında büyük bir değere ayarlarsanız, bile bu sorun oluşur.
- Microsoft .NET Framework 3.5 kullanan bir ASP.NET web uygulaması var.
- Uygulamanızı UpdatePanel denetimi kullanan bir sayfa var.
- ASP.NET web formu erişmek ve UpdatePanel denetim 2,5 megabayttan (MB) fazla olan verileri göndermeye çalışır.
Hata: Sys.WebForms.PageRequestManagerServerErrorException: seri hale getirme veya JSON JavaScriptSerializer kullanılarak seri kaldırma sırasında bir hata oluştu. MaxJsonLength özelliği değeri dize uzunluğunu aşıyor.
Neden
Bu sorun System.web.extensions.dll dosyasında bir tasarım kısıtlaması nedeniyle oluşur. Özellikle, JavaScriptSerializer kurucu maxJsonLength özelliğinin en büyük değeri için kesin bir sınır ayarlar. Bazen, en büyük değer büyüklükte değil. Bu "Belirtiler" bölümünde açıklanan soruna neden olur.
Çözüm
Düzeltme bilgileri
Artık Microsoft tarafından desteklenen bir düzeltme sağlanmaktadır. Ancak, bu makalede anlatılan sorunu düzeltmesi amaçlanmıştır. Yalnızca bu özel sorunla karşılaşmış olan sistemlere uygulayın.Bu sorunu çözmek için düzeltmeyi edinmek üzere Microsoft Müşteri Destek Hizmetleri'ne başvurun. Microsoft Müşteri Destek Hizmetleri telefon numaralarının ve destek ücretleriyle ilgili bilgi tam listesi için aşağıdaki Microsoft Web sitesini ziyaret edin:Not: Özel durumlarda, Microsoft Destek Uzmanı özel bir güncelleştirmenin sorununuzu çözeceğini belirlerse, destek aramaları için normalde uygulanan ücretler iptal edilebilir. Ek destek sorularına ve söz konusu güncelleştirme için geçerli olmayan sorunlara normal destek ücretleri uygulanır.
Önkoşullar
Bu düzeltmeyi uygulamak için .NET Framework 3.5 SP1'i aşağıdaki işletim sistemlerinden birini çalıştıran bir bilgisayarda yüklü olması gerekir:- Windows XP
- Windows Server 2003
- Windows Vista
- Windows Server 2008
Yeniden başlatma gereksinimi
Düzeltmeyi yüklediğinizde herhangi etkilenen dosyaların kullanılıyorsa, bu düzeltmeyi uyguladıktan sonra bilgisayarı yeniden başlatmanız gerekebilir. Düzeltmeyi yüklemeden önce bilgisayarı yeniden başlatmayı önlemek için herhangi bir ASP.NET Web kapatın.Düzeltme değiştirme bilgileri
Bu düzeltme eki, başka düzeltmelerin yerini almaz.
Dosya bilgileri
Bu düzeltmenin İngilizce sürümü, aşağıdaki tabloda listelenen dosya özniteliklerine (veya daha yeni dosya özniteliklerine) sahiptir. Bu dosyaların tarihleri ve saatleri Koordinatlı Evrensel Saat'te (UTC) listelenmiştir. Dosya bilgilerini görüntülediğinizde koordinatlı evrensel saat yerel saate dönüştürülür. UTC ve yerel saat arasındaki farkı bulmak için Denetim Masası'ndaki Tarih ve Saat öğesinde Saat Dilimi sekmesini kullanın.Tüm .NET Framework 3.5 x86 tabanlı sürümlerinde desteklenen
Dosya adı | Dosya sürümü | Dosya boyutu | Tarih | Saat | Platform |
---|---|---|---|---|---|
System.web.extensions.dll | 3.5.30729.4559 | 1,277,952 | 24 Haz 2010 | 08:47 | x86 |
Tüm .NET Framework 3.5 x64 tabanlı sürümlerinde desteklenen
Dosya adı | Dosya sürümü | Dosya boyutu | Tarih | Saat | Platform |
---|---|---|---|---|---|
System.web.extensions.dll | 3.5.30729.4559 | 1,277,952 | 24-Jun-2010 | 13:25 | x64 |
Tüm desteklenen IA-64 tabanlı sürümleri .NET Framework 3.5 için
Dosya adı | Dosya sürümü | Dosya boyutu | Tarih | Saat | Platform |
---|---|---|---|---|---|
System.web.extensions.dll | 3.5.30729.4559 | 1,277,952 | 24-Jun-2010 | 17:34 | IA-64 |
Yükleme sonrası yönergeleri
Düzeltme uygulandıktan sonra Web.config dosyasına aşağıdaki öğeyi ekleyin ve sonra komut dosyasının en fazla uzunluğu için daha büyük bir değer belirtin.<appSettings><add key=”aspnet:UpdatePanelMaxScriptLength” value=”
<value>” /></appSettings>
Bu soruna geçici bir çözüm için birlikte çalışma derlemesi genel derleme önbelleğine yüklemek için Gacutil.exe komutunu kullanın.
Durum
Microsoft bu sorunun "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.
Başvurular
UpdatePanel denetimi hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:JsonSerialization ögesi hakkında daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin: