Makale numarası: 312629 - Son Gözden Geçirme: 01 Ağustos 2003 Cuma - Gözden geçirme: 2.6

SORUN: Response.End, Response.Redirect veya Server.Transfer kullanırsanız ThreadAbortException oluşuyor

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
Hepsini aç | Hepsini kapa

Belirtiler

Response.End, Response.Redirect veya Server.Transfer yöntemini kullanırsanız, ThreadAbortException bir özel durum oluşur. Bu özel durum yakalamak için bir try-catch deyimini kullanabilirsiniz.

Neden

Response.End yöntemi sayfa yürütülmesi sona erdirir ve yürütme uygulamanın olay kanal Application_EndRequest olayda geçirir. Response.End aşağıdaki kod satırını yürütülür.

Bu sorun, her iki yöntem Response.End dahili nedeni Response.Redirect ve Server.Transfer yöntemleri oluşur.

Çözüm

Bu soruna geçici bir çözüm için aşağıdaki yöntemlerden birini kullanın:
  • Response.End için Response.EndApplication_EndRequest olay için kod yürütülmesine atlamak yerine HttpContext.Current.ApplicationInstance.CompleteRequest yöntemini çağırın.
  • Response.Redirect için bir aşırı yük, yanlışResponse.End iç çağrısı engellenip engellenmeyeceğini belirtir endResponse parametresinin geçirmeden Response.Redirect (string url, bool endResponse) kullanın. Örneğin:
      Response.Redirect ("nextpage.aspx", false);
    						
    Response.Redirect aşağıdaki kod, bu geçici çözümü kullanırsanız, yürütülür.
  • Server.Transfer için Server.Execute yöntemi kullanın.

Durum

Bu davranış tasarım yüzündendir.

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Anahtar Kelimeler: 
kbmt kbexcepthandling kbprb KB312629 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:312629  (http://support.microsoft.com/kb/312629/en-us/ )