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模块。