簡體   English   中英

ASP.NET MVC 調試非常慢 - SQL Server Express 連接問題?

[英]ASP.NET MVC Debugging Very Slow - SQL Server Express Connection Issue?

我正在 ASP.NET MVC 中開發一個應用程序,使用 SQL Server Express 作為后端,使用 Cassini 作為開發 Web 服務器(Visual Studio 2008 附帶的那個)。

應用程序性能非常快(幾乎是瞬時的頁面切換)。 然而,啟動調試器非常緩慢。 從我按 F5 到 ASP.NET 歡迎頁面出現大約需要 30 秒。

我注意到在加載 SQL Server Management Studio Express 時出現了類似的延遲,而在我第一次打開數據庫中的表進行查看時又出現了另一個延遲。 在我打開第一張桌子后,一切都很順利。

鑒於 SQL Server Management Studio Express 的行為,我懷疑問題在於與 SQL Server Express 的初始連接。 這真的是問題所在嗎,如果是,我該如何解決?

在我的情況下,我在調試> 輸出窗口中看到拋出和捕獲的異常,這在調試時大大減慢了我的應用程序的速度。

我最終啟用了此處概述的異常中斷,然后只是修復了代碼,因此不會引發太多異常

為什么 ASP.NET 會拋出這么多異常?

我會檢查數據庫上的 auto_close 屬性。

sp_dboption 'MyDatabaseName', 'autoclose'

我認為 express 的默認設置可能是將 autoclose 設置為 on。 當它設置為 TRUE 時,當數據庫中沒有用戶時,服務器將關閉數據庫並從中釋放所有資源。 將 autoclose 設置為 FALSE 將告訴服務器掛起數據庫,使其處於就緒狀態,無論用戶是否在數據庫中。

請參閱此處了解更多信息。

如果只是在調試時很慢,那么有幾個阻塞點需要考慮:

  1. 由於每次重新構建程序集時 JITer 都必須進行預編譯,因此在調試時應用程序啟動速度較慢。
  2. 如果您每次都在編譯和調試,則可能是您的編譯速度慢,而不是您的應用程序性能。 按 F5 后,瀏覽器需要多長時間才能出現? 如果您的解決方案中有多個項目,則構建它們需要時間。 嘗試設置排除類項目的構建配置(確保在必要時手動重建它們)
  3. 我在使用 Cassini 時沒有遇到任何問題,但您可以嘗試 IIS 只是為了咧嘴笑。

只是一些想法,HTH。

我最終通過從命令提示符窗口使用 Netshell 重建我的 TCP/IP 堆棧解決了這個問題。 顯然我收到了 TCP/IP 超時。

netsh int ip reset c:resetlog.txt 

http://support.microsoft.com/kb/299357

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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