簡體   English   中英

Linq to SQL TImeout問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM