ASP dünyasında çok yaygın bir hata: HTTP başlıkları zaten istemci tarayıcısına yazılmıştır. Sayfa içeriği yazılmadan önce tüm HTTP üstbilgileri değişiklikleri yapılmalıdır. Gerçek hata bloğu şuna benzer:

Yanıt nesnesi hatası 'ASP 0156: 80004005
Başlık Hatası
/index.asp, satır 22
HTTP başlıkları zaten istemci tarayıcısına yazılmıştır. Sayfa içeriği yazılmadan önce tüm HTTP üstbilgileri değişiklikleri yapılmalıdır.

İlk olarak, bu hataya ne sebep olur? Tam olarak söylenen budur. HTML veya HEAD veya BODY komutları gibi HTTP üstbilgileri zaten yazdınız. Şimdi başka bir şey yapmaya çalışıyorsunuz - muhtemelen response.redirect komutu. Eski bir sayfa yazmanın ortasında yeni bir sayfaya gidemezsiniz.

İlk olası durum, gerçekten bir şeyler yazıp yanıt vermeye çalışmanızdır. Redirect. Yeni bir sayfaya gitmek istiyorsanız, ekrana herhangi bir şey yazmaya başlamadan ÖNCE karar sürecinizi yapın. Bir sayfa çizerek yarıya kadar sıçrayamazsınız. İşleminizi yapın, başka bir yere gitmeniz gerekip gerekmediğine karar verin ve gerekiyorsa oraya gidin. Değilse, şu anda bulunduğunuz sayfayı çizin. Yanıt Kullanma hakkında daha fazla bilgi edinebilirsiniz.

Bunun en yaygın ikinci nedeni, IIS'deki düğmelerle kandırmanızdır. Giriş Dizini - Yapılandırma - Uygulama Seçenekleri'ne girerseniz, "Arabelleğe Almayı Etkinleştir" adlı bir onay kutusu bulunur. Bu varsayılan olarak AÇIK olmalıdır. Bu açık olduğunda, ASP işleminizin üzerinde çalıştığı şeyi sonuna kadar sakladığı ve ardından tam sayfayı kullanıcıya gönderdiği anlamına gelir. ASP'yi yönetmenin etkili bir yoludur.

Ancak, bu onay kutusunu KAPALI konuma getirirseniz, yeni bir sayfaya atlamak için bir response.redirect komutunu çağıramazsınız. Arabelleğe alma sorunlarıyla elle uğraşmaya başlamalısınız. Bu karışıklığa gerçekten girmek istiyorsanız, ASP'de Tamponlama Nasıl Çalışır konusunu mutlaka okuyun.

Basit çözüm:

* Arabelleğe Almayı Etkinleştir onay kutusunu her zaman AÇIK olarak bırakın
* HERHANGİ BİR HTML yazmadan ÖNCE daima response.redirect kullanın.

ASP E-kitabına Giriş

ASP öğrenme hakkında bilmeniz gereken her şeyi almak için bu e-kitabı indirin - adım adım öğreticiden işlev listeleri, örnek kod, yaygın hatalar ve çözümler ve çok daha fazlası! 101 sayfa.

Video Talimatları: Azure Friday | Azure + Visual Studio + Xamarin = Great Mobile Apps (Nisan 2024).