PDA

View Full Version : این error واسه چیه ؟؟



cactuskhan
دوشنبه 01 مرداد 1386, 10:17 صبح
زمانی که میخوام از response.redirect یا server.transfer استفاده کنم واسه جابجایی بین صفحات این error رو میده !

{Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack.}

لطفا راهنمایی کنید !

Behrouz_Rad
دوشنبه 01 مرداد 1386, 11:36 صبح
کدت رو در اینجا قرار بده.

cactuskhan
دوشنبه 01 مرداد 1386, 12:23 عصر
Session.Remove("id");
Session.Add("id",registerOnline(userName, password).ToString());
Server.Transfer("EditonlineRegister.aspx");

Behrouz_Rad
دوشنبه 01 مرداد 1386, 13:46 عصر
به جای Server.Transfer از Server.Execute استفاده کن.
همچنین اگر از Response.Redirect استفاده می کنی، پارامتر دوم متد Redirect رو برابر با False قرار بده.
این موارد، باگ هایی در ASP.NET 1.x هستند.

موفق باشید.

cactuskhan
دوشنبه 01 مرداد 1386, 14:54 عصر
ممنون !
میشه بگید این errori که میده یعنی چی ؟ از چی ایراد میگیره !؟

من هم دارم از asp.net 2.0 استفاده میکنم ؟:متفکر:

Behrouz_Rad
دوشنبه 01 مرداد 1386, 17:54 عصر
من آرشیوی از خطاهای رخ داده از زمان پیداش ASP.NET رو نگهداری میکنم.
از اونجایی که این خطا در ASP.NET 1.x مشاهده شده، پس قاعدتا نباید در ASP.NET 2.0 وجود داشته باشه!
به هر حال...
اگر با یک Reflector به پیاده سازی متدهای Response.Redirect و Server.Transfer نگاهی بندازی، میبینی که این متدها در پایان کارشون متد Response.End رو فراخوانی می کن.
زمانی که Response.End فراخوانی میشه، روال Application_EndRequest در فایل Global.asax فراخوانی میشه که باعث پایان Thread جاری میشه.
طبق خطایی که در کدنویسی برای این متدها وجود داره، روال خارج کردن Thread جاری به درستی انجام نمیشه و باعث بروز اون خطا میشه.

موفق باشید.