PDA

View Full Version : استثناء هنگام اجرای server.transfer و Response.redirect



WorldVbMan
شنبه 28 دی 1387, 19:35 عصر
با سلام
یه برنامه ی كامل با Asp.net2 نوشتم و واسه ردیابی مشكلات از یه فایل Log استفاده كردم
ظاهراً در اجرا هیچ مشكلی نبود تا وقتی سر زدم باین فایل دیدم پره از این استثناء كه رخ داده:
Thread was being aborted
با یه جستجو مشخص شد ایراد از این دو كد منجر میشه : Server.transfer و Response.redirect
تو یه سری سایت ها گشتم گویا میگن وقتی این ها فراخوانی شن این استثناء رخ میده و باید نادیده گرفته شه، اگه اینجوریه پس چرا رخ میده؟
یه سری جاها نوشته پارامتر دو از Response.redirect رو فالس بدین ولی گویا ایرادی هم به اون وارده كه سربار ایجاد می كنه و اگر هم ایجاد نكنه راه حل خاصی واسه Transfer پیدا نكردم
یه جا گفته از Server.Executeاستفاده شه كه اون هم من انجام دادم صفحات رو با هم لود می كرد ضمن اینكه در توضیحش چیز متفاوتیه از ترنسفر
ضمناً من خیلی از این كد استفاده كردم و تغییرش مگه فقط با یه معادل با همون خصائل انجام شه البته نباید كاربر پارامترهای ارسالی رو ببینه كه این هم یه سدیه واسه خودش
می خواستم ببینم راه حل چیه؟
متشكر میشم راهنماییم كنید.

WorldVbMan
شنبه 28 دی 1387, 23:58 عصر
هیچ كی با این مشكل برنخورده یا نمی تونه راه حلی واسش پیشنهاد بده؟

mh19842008
یک شنبه 29 دی 1387, 10:45 صبح
اگه خواسته باشی ازصفحه به صفحه دیگر پرش کنی بدون ارسال داده از کنترل های خود .net استفاده کن چه کاری میخوای انجام بدی

WorldVbMan
یک شنبه 29 دی 1387, 12:15 عصر
اگه خواسته باشی ازصفحه به صفحه دیگر پرش کنی بدون ارسال داده از کنترل های خود .net استفاده کن چه کاری میخوای انجام بدی

متشكر از توجهتون
همونطور كه اول گفتم هم میخوام یه تعداد داده ارسال كنم و هم اینكه كاربر ازشون مطلع نشه

mh19842008
یک شنبه 29 دی 1387, 13:48 عصر
برای ارسال داده میتونی از post back url کنترل استفاده کنی ودر صفحه مقصد با request اطلاعات رو دریافت کنی منظورت از اینکه کاربر اطلاعات رو نبینه چیه؟

WorldVbMan
یک شنبه 29 دی 1387, 14:16 عصر
منظور اینه كه مثلاً ارسال داده ها از طریق url كه یه روش متداول هست كاربر رو در جریان آنچه می گذره میذاره ولی من یه چنین چیزی نمی خوام
ضمناً كد اجرا میشه و اصلاً كار ترنسفر همینه ، دلیل مشكل هم گویا Abort شدن Thread این صفحست كه درخواست اتمام كارش داده میشه تا صفحه ی جدید ارسال شه ولی پس چرا استثناء رخ میده؟
اگه نمونه كدی ساده شده كه مزاحمت ایجاد نكنه واستون دارید متشكر میشم بذارید
(من از این كد معمولاً برای ارسال مشخصات خطا بصفحه ای پردازشگر استفاده می كنم)

raravaice
یک شنبه 29 دی 1387, 14:36 عصر
http://barnamenevis.org/forum/showthread.php?t=101234

WorldVbMan
یک شنبه 29 دی 1387, 15:20 عصر
ضمن تشكر
میشه گفت همینی كه هست دیگه نه؟! یعنی یا باید اون راهی رو كه بی ایراد هم نیست (من گفته بودم شاید سرباره) انجام بدیم یا بی خیال شیم دیگه! درسته؟
واسه متد جایگزین ترنسفر همونطور كه در مطلب اولی گفتم متاسفانه با اجراش صفحه هام دو تاشون با هم و ادغامی لود میشن یعنی دقیقاً همانند ترنسفر عمل نكرد هیچ چی خواسته ام هم برطرف نشد
بعضی فروم ها گفتند بی خیال این استثناء شین چون بخاطر Abort شدن Thread جاری این استثناء باید رخ بده.
با این وجود متشكر، اگه راه علاجی داشت متشكر میشم كمكم كنید