/ / SiteMapPath pára exibindo no ASP.NET 4 - asp.net, iis-7.5, sitemapprovider, sitemappath, xml-sitemap

SiteMapPath pára exibindo no ASP.NET 4 - asp.net, iis-7.5, sitemapprovider, sitemappath, xml-sitemap

Temos um controle SiteMapPath na página eisso é ligado a um arquivo XML Web.sitemap com o provedor padrão. Temos este site há anos e recentemente atualizamos para o ASP.NET 4.0 no IIS 7.5 no Windows 2008 R2 Por algum motivo, após cerca de 6 a 12 horas de operação (não sei exatamente quando, mas é consistente), O SiteMapPath para de carregar para todos.Se nós reiniciarmos o pool de aplicativos ou modificarmos e salvarmos os arquivos XML web.config ou web.sitemap, o SiteMapPath começará a ser carregado novamente.

Alguém tem alguma idéia do que poderia estar causando isso? Não há manipuladores de arquivos mantendo o arquivo aberto que eu possa ver usando o Process Explorer.

Obrigado,

John

Respostas:

2 para resposta № 1

Nós lutamos com isso por um bom tempo, mas finalmente conseguimos que a Microsoft descobrisse o que estava acontecendo. Breve história é MS resolveu com esse hotfix: http://support.microsoft.com/default.aspx?scid=kb;en-US;2472263

No nosso caso, se o primeiro pedido para o siteEra de um dispositivo cookieless (no nosso caso, era algum bot Russion, Yandex), o sitemap seria construído com URLs sem cookbox e em cache. Então, qualquer dispositivo que oferecesse suporte a cookies nunca funcionaria devido à maneira como o sitemap era armazenado em cache com URLs para sessões sem tarefas. Inicialmente, os sintomas eram aleatórios e, por fim, conseguimos reduzi-lo a uma reciclagem de pool de aplicativos, seguida pela primeira solicitação desse bot.

Uma solução alternativa que funcione se você quiser forçar os cookies é fazer essa alteração no web.config:

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

Isso força o sitemap a ser construído sem usar URLs sem cookies.

Espero que isto ajude!!