/ / SiteMapPath Зупиняє відображення в ASP.NET 4 - asp.net, iis-7.5, sitemapprovider, sitemappath, xml-sitemap

SiteMapPath зупиняється відображення в ASP.NET 4 - asp.net, iis-7.5, sitemapprovider, sitemappath, xml-sitemap

У нас є контроль SiteMapPath на сторінці таце пов'язано з файлом XML Web.sitemap із постачальником провайдера за умовчанням. Ми мали цей сайт протягом багатьох років і нещодавно оновили до ASP.NET 4.0 на IIS 7.5 у Windows 2008 R2. З деяких причин, через приблизно 6-12 годин роботи (не точно, коли, але це послідовно), SiteMapPath зупиняє завантаження для всіх.якщо перезапустити пул програм або змінити і зберегти файли XML web.config або web.sitemap, SiteMapPath почне завантаження знову.

Хто-небудь є якісь ідеї, що може бути причиною цього? Немає жодних файлових ручок, які зберігають відкритий файл, який я можу бачити за допомогою провідника процесу.

Дякую,

Джон

Відповіді:

2 для відповіді № 1

Ми боролися з цим протягом довгого часу, але врешті-решт змогли примусити Microsoft з'ясувати, що відбувається. Коротке оповідання MS звернулося до нього з цим виправленням: http://support.microsoft.com/default.aspx?scid=kb;en-US;2472263

У нашому випадку, якщо перший запит на сайтбув з кухонного пристрою (у нашому випадку це був якийсь російський бот, Яндекс), карта сайту будувалася з кухонними URL-адресами і кешувалася. Тоді будь-які пристрої, які підтримують файли cookie, ніколи не працюватимуть через те, що карта сайту була кешована з URL-адресами для сесій cookiless. Хоча початкові симптоми були випадковими, ми врешті-решт змогли звузити його до рециркуляції пулу додатків з наступним першим запитом від цього бота.

Альтернативним способом вирішення проблеми, який працює, якщо ви хочете примусити файли cookie, є внесення цієї зміни до web.config

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

Це змушує Sitemap будуватися без використання cookieless URL-адрес.

Сподіваюся, це допомагає !!