PDA

View Full Version : چرا Application_error در global.aspx بعد از آپلود سايت عمل نمی کند؟



mastermehdi1
پنج شنبه 07 مرداد 1389, 15:06 عصر
سلام دوستان
من یه سایت ساختم و Application_error در global.aspx رو طوری نوشتم تا هر خطايی رو ذخيره کنه.
وقتی برنامه رو روی کامپیوتر خودم چک می کنم درست کار می کنه
ولی بعد از اینکه سايت رو آپلود می کنم ديگه کار نمی کنه طوری که بنظر میرسه اصلا فایل global.aspx وجود نداره!!!
IIS 7.5 و کنترل پنل plesk 9.3 روی سرور من نصب شده
همچنين فایل global.aspx نیز در ریشه اصلی سایت یعنی درون پوشه httpdocs قرار دارد
اینم کد برنامه هست


void Application_Error(object sender, EventArgs e)
{
ConnectionStringSettings connectionString = ConfigurationManager.ConnectionStrings["database"];
SqlConnection connection = new SqlConnection(connectionString.ConnectionString);
SqlCommand command = new SqlCommand("insertError", connection);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add("@cause", SqlDbType.NVarChar);
command.Parameters["@cause"].Value = Server.GetLastError().GetBaseException();
connection.Open();
command.ExecuteNonQuery();
connection.Close();
Response.Redirect("~/error.aspx");
{

ممنون میشم اگه بتونید کمک کنید

Behrouz_Rad
پنج شنبه 07 مرداد 1389, 15:56 عصر
یک پیشنهاد.. هر چند که نیاز به دانستن جزئیات بیشتری هست اما در گام اول فایل global.asax رو در ریشه ی اصلی سایت قرار بده و نتیجه رو بگو.

mastermehdi1
پنج شنبه 07 مرداد 1389, 18:13 عصر
یک پیشنهاد.. هر چند که نیاز به دانستن جزئیات بیشتری هست اما در گام اول فایل global.asax رو در ریشه ی اصلی سایت قرار بده و نتیجه رو بگو.
با تشکر از راهنمايی شما
اما فابل global.asax در ریشه اصلی در کنار web.config هست
درصورتی که نیاز به جزئیات بیشتری برای حل مسئله دارید لطفا بگید
در ضمن سرور من دارای IIS 7.5 هست و کنترل پنل plesk 9.3 روش نصب شده

Behrouz_Rad
پنج شنبه 07 مرداد 1389, 22:44 عصر
من استفاده از فایل Global.asax رو توصیه نمی کنم. برای روال های فایل Global.asax باید از HttpModule استفاده کنی (به استثنای روال های Application_Start و Application_Stop)

روال log خطاها رو در یک HttpModule پیاده سازی کن.

موفق باشید.

mastermehdi1
پنج شنبه 07 مرداد 1389, 23:48 عصر
من استفاده از فایل Global.asax رو توصیه نمی کنم. برای روال های فایل Global.asax باید از HttpModule استفاده کنی (به استثنای روال های Application_Start و Application_Stop)

روال log خطاها رو در یک HttpModule پیاده سازی کن.

موفق باشید.

متاسفانه بنا به دلایلی باید حتما هر گونه خطایی رو در دیتابیس ذخیره کنم وتنها راه حلی که بنظرم میرسه استفاده از global.asax هست
نمیدونم چرا فقط روی سرور کار نمیکنه؟
مگه چه تفاوتی با کامپیوتر خودم داره!!!

Behrouz_Rad
پنج شنبه 07 مرداد 1389, 23:49 عصر
متاسفانه بنا به دلایلی باید حتما هر گونه خطایی رو در دیتابیس ذخیره کنم وتنها راه حلی که بنظرم میرسه استفاده از global.asax هست
نمیدونم چرا فقط روی سرور کار نمیکنه؟
مگه چه تفاوتی با کامپیوتر خودم داره!!!
جواب شما رو در پست 4 دادم.

mastermehdi1
جمعه 08 مرداد 1389, 00:32 صبح
جواب شما رو در پست 4 دادم.

خب مرسی از کمکی که میکنید
و میدونم که سرتون خیلی شلوغه
ولی من نمیدونم چطور میتونم از HttpModule برای رفع مشکل استفاده کنم
میتونید یکم بیشتر راهنمایی کنید
هر تاپیک دیگه ای در این رابطه یا هر رفرنسی میتونه برام مفید باشه

Behrouz_Rad
جمعه 08 مرداد 1389, 11:26 صبح
خب مرسی از کمکی که میکنید
و میدونم که سرتون خیلی شلوغه
ولی من نمیدونم چطور میتونم از HttpModule برای رفع مشکل استفاده کنم
میتونید یکم بیشتر راهنمایی کنید
هر تاپیک دیگه ای در این رابطه یا هر رفرنسی میتونه برام مفید باشه
http://www.google.com/search?q=http+module&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a