所以,在我们的网站,我们正在使用SiteMap。对于每一个请求,我们会导致某些菜单要做到这一点,我们做SiteMap.RootNode在辅助功能。

现在,当我做了我的网站的使用剖析 dotTrace 后,我看到了get_RootNode()走的时候很多的(大约70-75毫秒)。但是,我们知道,SiteMap是静态的。所以,我想在某种程度上,我会在SiteMap.RootNode得到Application_Start只有一次,将访问通过了每个请求。

所以,我的问题是,

是我的做法正确吗? 我应该怎么办呢? 或是否有任何有效的方式,我可以使用SiteMap.RootNode

感谢。

有帮助吗?

解决方案

我避免站点地图正是这种原因。 他们确定了几百页,但除此之外,性能将开始下降。

我觉得他们是为了一个简单的较小的网站或一些入门型工具。

我写我自己的CMS和理论上,如果你使用的是类似CMS /应用程序,你应该能够通过获取当前的所有儿童从DB拉你的菜单列表在更短的时间结构以同样的方式将数据页面ID /某种形式的类似的基于上下文的查询。

您可以(为我被告知)但打破你的站点地图中较小的部分地图,然后拉菜单列表从那些以提高性能。

如果您但是网站有不到500页我会质疑编码...是一个自定义的地图? 是提供程序等待资源锁什么的?

你有没有考虑过使用XmlDocument类,而不是把数据? (只是一个想法)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top