我的網站有一個持續的問題,它基本上超時並死亡。我已經到了現在的地步,我必須將應用程序池設置爲每5分鐘自動回收一次,但即使這樣做也失敗了,因爲我剛剛回來工作,並且我的電子郵件收件箱中充滿了4000封電子郵件,錯誤。這段代碼能否殺死我的服務器?
System.Data.SqlClient.SqlException:超時過期。操作完成之前超時的時間或服務器沒有響應。
今天早上我嘗試了一個測試,我在連接字符串上禁用了連接池,但這也不起作用。
現在我想或許這不是泄漏連接的問題,我經歷過所有這些,我認爲這可能與我的網站的核心靜態屬性有關
這裏是其中的一個
public static List<Member> AllMembers
{
get
{
if (HttpRuntime.Cache["Members"] != null)
{
return (List<Member>)HttpRuntime.Cache["Members"];
}
else
{
GetAllMembers();
return (List<Member>)HttpRuntime.Cache["Members"];
}
}
}
這就是所謂的,每當我想要的成員列表,你可以看到,如果它爲null,則填充緩存,其中會使用到數據庫,如果它不爲null,則它會返回緩存對象。我也有SQLCacheDependancy,它將清除這些緩存對象,以便它再次填充它們。所以這個屬性被稱爲ALOT。
現在,這是一個Web應用程序,併爲我的流量增加了其染色的時候,
難道我的屬性是原因?
任何幫助表示最欣賞
Truegilly
看到GetAllMembers()的代碼比屬性 – LorenVS 2010-10-18 17:41:18
更有用你是否試圖在壓力下監視你的應用程序的內存使用情況?你檢查MS SQL上發生了什麼並監視它嗎?你如何診斷你有什麼問題?或者你只是試圖猜測問題可能存在的地方? – 2010-10-18 17:55:28