簡體   English   中英

ASP.NET 3.5 Web應用程序項目需要花費很長時間才能進行初始加載

[英]ASP.NET 3.5 Web Application Project takes excessively long time to initially load

我已經開始在一家新公司工作,我工作的主要項目(ASP.NET 3.5 Web應用程序項目)需要花費很長時間才能進行初始加載(大約1.5分鍾)

我知道這通常是Web應用程序項目的本質,但我的問題似乎太長了。

我已經嘗試了幾個嘗試並找出可能導致這種延遲的原因,包括用新項目創建的新文件替換web.config清除了我的web.config中的app_start所有內容從我的bin文件夾中刪除了所有weppart dll(其中我在bin目錄中有19個dll,包括來自MS企業庫的6個dll)

仍然需要很長時間才能加載。

我想知道是否有人有任何關於我如何找出導致如此巨大的加載時間或任何工具的任何指示,這將有助於我看到我的應用程序在啟動時正在做什么

謝謝 - 克里斯

從.NET 2.0開始還有另一個問題。 如果您的bin文件夾中有任何已簽名的程序集,則CLR會嘗試連接到VeriSign URL並獲取證書的吊銷列表以查看它們是否有效。

這也可能會占用你的一些啟動時間。 如果您認為這可能會導致您的問題,那么您可以查看以下MS文章:

http://digital.ni.com/public.nsf/allkb/18E25101F0839C6286256F960061B282
http://support.microsoft.com/kb/936707

要在每個應用程序的基礎上處理此問題,您可以在app.config / web.config的config部分下添加以下設置。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <runtime>
       <generatePublisherEvidence enabled="false" />
    </runtime>
</configuration>

當然,如果添加此設置,簽名的DLL將不再驗證其有效性!

試試熱身劇本

JetBrains DotTrace是一款優秀的ASP.NET分析器。

RedGate的ANTS分析器可以給你一些關於可能減慢你速度的提示。

在Default.aspx.cs中的Page_Load上設置斷點並開始運行。

檢查Global.asax文件以查看是否正在加載您不知道的任何內容。

其他項目是否快速加載? 你有其他運行的程序可能會降低你的機器速度嗎? 正如你所提到的,.NET應用程序在初始加載時花費的時間最長......你有很多引用(在庫之外,dll的......等等......)

如果您公開登台或開發服務器,它是否會快速加載?

有多少個項目? 如果bin目錄中有大量的程序集和dll,那么可以大大減慢加載時間(即使它們非常小)。 這是我能建議的最好的。

嘗試使用SQL事件探查器並在啟動期間查看關聯的數據庫活動

可能是,在第一頁視圖上有大量查詢命中數據庫以初始化各種緩存。

如果是這種情況,您可以集中精力優化導致阻塞最多的查詢。

暫無
暫無

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

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