[HATA] “Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack.”

Eğer ki bu hatayı alıyorsanız: “Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack.” Bunun bir kaç sebebi olabilir. Yüksek ihtimalle Response.Redirect yada Server.Redirect yada Response.End kodlarından birisini kullanıyorsunuzdur.

Hatanın Sebebi : 

Response.End metodu sayfanın çalışmasını sonlandırır ve Application_EndRequest olayının application’s event pipeline’daki çalışmasını değiştirir. Böylece Response.End metodunu izleyen kod satırları çalıştırılamaz.

Bu problem Response.Redirect ve Server.Transfer metodunda da meydana gelir. Çünkü bu metodlar da Response.End metonunu çağırırlar.

Hatanın Çözümü :

Response.End yerine HttpContext.Current.ApplicationInstance.CompleteRequest 

ve Response.Redirect yerine de Response.Redirect (“SayfaAdi.aspx”, false);

ve Server.Transfer yerine de Server.Execute metodunu kullanmalısınız.

İlgili kaynaklar : 

codeproject

weblogs

microsoft support

One thought on “[HATA] “Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack.”

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir