[英]Linq to Sql TImeout issues
我有一種使用linq將用戶信息提取到sql類的方法。 該方法使用linq語句執行三個查詢,這些語句調用現有存儲的proc。 這是我如何布置linq語句的示例。
using (var db = new TestDataContext(connection)))
{
var user = db.proc_UserInfo(userId);
foreach (var x in user)
{
string FullName = x.FirstName + " " + x.LastName;
string Address = x.Addr1;
string City = x.City;
}
}
通過Web api控制器調用此方法,該控制器會從jquery ajax請求中觸發。 它工作正常,但是當我通過匆忙更改充滿ajax請求的用戶的下拉列表而對其施加一些負載時,我注意到我是否可以足夠快地完成它,似乎去往數據庫的那批查詢被取消了並且調用被暫停幾分鍾,下一次查詢將超時並返回空對象。 要注意的一件事是這些查詢沒有返回,而是幾行數據。 我仍在嘗試找出正在發生的事情,並歡迎提出建議。 提前致謝。
首先,我認為人們可能需要更多信息。 我認為數據庫類型是SQL Server,但您尚未列出版本。 無論如何,這可能是幾件事。 請記住,AJAX調用是作為http請求/帖子運行的,因此那里可能存在IIS超時或其他各種IIS限制。 另外,您的呼叫是否異步等。jQuery可能需要驗證某些設置。 表鎖定也是SQL Server的一種可能。 還要檢查您的瀏覽器ram / w3wp的使用情況,以確保其不會耗盡資源。
首先,我建議運行SQL事件探查器以驗證發生了什么,然后檢查這些查詢的執行計划。 如果有大量數據,則可能需要一些索引。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.