我有一個ASP.NET 3.5應用程序與SQL 2005在後端。在某些情況下,代碼需要很長時間才能執行(30秒或更長),尤其是在報告中。其中代碼花費大部分時間
- 我想知道代碼大部分時間在哪裏。有沒有簡單的方法來做到這一點?
我正在使用Visual Studio 2008.現在我正在解決某個超時情況。注意:我沒有SQL Profiler(我正在運行Express版本)。
我有一個ASP.NET 3.5應用程序與SQL 2005在後端。在某些情況下,代碼需要很長時間才能執行(30秒或更長),尤其是在報告中。其中代碼花費大部分時間
我正在使用Visual Studio 2008.現在我正在解決某個超時情況。注意:我沒有SQL Profiler(我正在運行Express版本)。
你試過Tracing?
幾個Trace.Write("...")
陳述可能會幫助您瞭解事情在何處花費最長的時間以瞭解進一步挖掘的位置。一定要打開web.config中的跟蹤,並在特定的頁面上打開,如果你只需要特定的頁面。一些使用的
例子:
Trace.Write("Before Data Load")
// Code that loads Data
Trace.Write("After Data Load")
// Code that manipulates data
Trace.Write("After Data Manipulation")
然後輸出將顯示完整的頁面跟蹤(額外頁的東西爲好),每個行項目的最後一絲之間的時間,所以你可能看到「數據加載之前」和「數據加載之後」之間的間隔爲20秒。這會讓你知道在哪裏尋找改進的東西。
可能我可以對不同的代碼塊進行時間跟蹤,看看它需要多長時間? –
@ Thecrocodilehunter絕對。用一個示例用法編輯我的答案。 –
你的意思是ASP.NET應用程序?如果您使用的是Visual Studio 2008,我假設如此。要編輯標籤,但要確認。我的答案顯然是ASP.NET特定的。 –
是的,它是ASP.NET 3.5 –