2012-06-11 29 views
12
Ben ifadeyi değerlendirmek için

Hata: kod optimize edilmiştir çünkü ifadeyi değerlendiremedim

"açılamadı okur benim asp.net uygulamasında bir hata alıyorum

kod optimize veya yerel bir çerçeve üstünde olduğu, çünkü çağrı yığını. "

protected void btnCustomerProfile_Click(object sender, EventArgs e) 
{ 
    try 
    { 
     Server.Transfer("CustomerProfile.aspx"); 
    } 
    catch (Exception ex) 
    { 
     Response.Write(ex.ToString()); 
    } 
    finally 
    { } 
} 

SO arama sonucunda, benzer mesajların çoğu Response.Redirect dahil görüyoruz. Kodum server.transfer kullanıyor ve benim uygulama da Ana Sayfalar kullanıyor.

Bu sorunu nasıl çözebilirim?

Güncelleme: Herhangi bir nedenle, bu hata oluşur. Response.Redirect'i de kullanıyorum. Ne yazık ki Server.Execute çağıran sayfayı sonuna doğru çağırır çünkü maalesef Server.Execute kullanamazsınız.

açıkladığınız mesele burada gösterildiği gibi tasarım gereği gibi görünüyor
+0

Eğer durum atar kod parçasını yayınlayabilir? – davioooh

+0

uhmm ... benim durumumda sorun Response.End' 'neden ... Ama kodu baktığımızda bu sorunun nedeni ne söylemek çok zordur edildi ... senin linke – davioooh

cevap

13

bir hatayla almayacak ama irade tuzak aşağıdaki kod bloğu o ve hayatına devam alabilirsiniz.

bu deneyin: MS-Testi ile çoklu iş parçacığı uygulamanın çalışmasını test edildiğinde

using System.Threading.ThreadAbortException; 

catch(ThreadAbortException ex) 
{ 
    throw; 
} 
+0

Bunu ekledim ama yine de aynı hatayı alıyorum –

10
+0

Bilgileri .NET 1.0 gösterir & 1.1 çerçeve. 4.0 framework kullanıyorum. Bu konunun 8 yıl sonra çözüleceğini düşünüyorum. Microsoft, kendi sorunlarını çözmez – DotNetRookie

+7

@DotNetRookie, sadece "bilinen sorunlar" olarak işaretlemek ... Server.Execute ile :) – davioooh

+0

konu geri çağıran sayfaya gider. Şu anda server.transfer yapan bir kodum var çünkü aynı kodlama stratejisine sadık kalacağımı görmek istiyorum. http://techahead.wordpress.com/2007/10/14/aspnet-servertransfer-vs-serverexecute/ – DotNetRookie

2

Eğer response.redirect() ile server.transfer değiştirilmesi denediniz sorunu çözmek gerekir Server.Execute kullanarak?

Server.Transfer VS Response.Redirect

+0

biçimlendirme olmadığından emin olmak için bir günlük dosyasına istisna dışında yazmaya değer olabilir (kod bir geliştirici tarafından yapıldığını Server.Transfer kullanan halen kodu vardır uygulama kim artık burada değil, bu yüzden mevcut mimariyle tutarlı kalmam gerekiyor. – DotNetRookie

1

Ben bu mesajı karşılaştı.

ben test ana iş parçacığı sona erdi ve sonsuz hala çalışıyorlardı çalıştırmak içindir diğer oluşturulan iş parçacığı ise nesnelerin temizlenmesi başlatıldı var Bunun nedeni olduğunu gördük.

meme temizlemek yöntem öldürür Yukarıdaki mesajı gösteren iptal olur, bu konuları nesneleri.