3

我正在使用總共包含6000個節點的動態節點提供程序。第一次請求包含 @ Html.MvcSiteMap()。SiteMapPath()的剃鬚刀視圖時,該頁面可能需要長達7500ms的載入時間。MvcSiteMap提供程序性能問題

在這個調用中,所有時間都被佔用,因爲在動態節點提供程序中分析我的代碼需要28ms。

如果我拿出mvc.sitemap中的所有動態節點,代碼將返回非常快的280ms。

有沒有什麼辦法預先加載 - 我使用IIS 7,因此無法使用應用程序預熱模塊或新的應用程序啓動加熱部分,如果IIS 7.5。

我使用的是最新的NuGet版本3.2.1

回答

0

性能在MvcSiteMapProvider v4得到顯著改善由於一些增強功能:

  1. 內部詞典現在使用仿製藥,而不是哈希表(使用系統。目的)。
  2. 傳入的類型現在是ISiteMapNode,因此不再需要在使用它之前進行轉換。
  3. cache has been completely redesigned利用.NET的System.Runtime.Caching.ObjectCache擴展點。
  4. ACL模塊已經過優化,可以更快地執行。
  5. 請求緩存現在自動完成一些昂貴的操作。
  6. 菜單和站點地圖已經過修改,只有在必要時才調用ACL模塊。