的SiteMapPath停在ASP.NET 4显示 [英] SiteMapPath Stops Displaying in ASP.NET 4

查看:148
本文介绍了的SiteMapPath停在ASP.NET 4显示的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们在页面上SiteMapPath控件,这势必会与默认提供的XML Web.sitemap文件。我们有这个网站多年,最近已经升级到ASP.NET 4.0在IIS 7.5在Windows 2008 R2。出于某种原因,约6-12小时的工作后,(不知道什么时候,但它是一致的),在的SiteMapPath停止装载的每一个人。如果我们重新启动应用程序池,或修改并保存web.config文件或web.sitemap中的XML文件,在开始的SiteMapPath再次加载。

We have a SiteMapPath control on the page and this is bound to an XML Web.sitemap file with the default provider. We've had this site for years and have recently upgraded to ASP.NET 4.0 on IIS 7.5 on Windows 2008 R2. For some reason, after about 6-12 hours of operating (not sure exactly when, but it is consistent), the SiteMapPath stops loading for everyone. If we restart the application pool or modify and save the web.config or the web.sitemap XML files, the SiteMapPath starts loading again.

有没有人有任何想法可能会造成什么呢?有没有文件句柄保持文件打开,我可以看到使用过程中的探险家。

Does anyone have any ideas what could be causing this? There are no file handles keeping the file open that I can see using process explorer.

谢谢,

约翰

推荐答案

我们挣扎与此很长一段时间,但最终能够得到微软弄清楚发生了什么事情。短篇小说MS已经与此修补程序解决它:
http://support.microsoft.com/default.aspx?scid = KB; EN-US; 2472263

We struggled with this for a LONG time, but were eventually able to get Microsoft to figure out what was going on. Short story is MS has addressed it with this hotfix: http://support.microsoft.com/default.aspx?scid=kb;en-US;2472263

在我们的情况下,如果该网站的第一个请求是从一个Cookie的设备(在我们的情况下,它是某种Russion机器人,Yandex的),站点地图将与cookiless URL和缓存来构建。然后,饼干支持任何设备绝不会因为网站地图是与cookiless会议的URL缓存的方式工作。虽然最初的症状是随机的,我们最终能够把它缩小到一个应用程序池回收,然后从这个机器人的第一个请求。

In our case, if the first request to the website was from a cookieless device (in our case it was some Russion bot, Yandex), the sitemap would be built with cookiless URLs and cached. Then, any devices that supported cookies would never work because of the way the sitemap was cached with URLs for cookiless sessions. While initial the symptoms were random, we eventually were able to narrow it to an app pool recycle followed by the first request from this bot.

如果要强制饼干其中工程另一种解决方法是使此更改的web.config:

An alternative workaround which works if you want to force cookies is to make this change to the web.config:

<authentication mode="Forms">
     <forms cookieless="UseCookies" />
</authentication>

这迫使网站地图,而无需使用Cookie的URL来建造。

This forces the sitemap to be built without using cookieless URLs.

希望这有助于!

这篇关于的SiteMapPath停在ASP.NET 4显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆