/ / SiteMapPath prestane zobrazovať v ASP.NET 4 - asp.net, iis-7.5, sitemapprovider, sitemappath, xml-sitemap

SiteMapPath prestane zobrazovať v ASP.NET 4 - asp.net, iis-7.5, sitemapprovider, sitemappath, xml-sitemap

Na stránke máme riadenie SiteMapPathje to viazané na súbor XML Web.sitemap s predvoleným poskytovateľom. Máme túto webovú stránku už roky a nedávno sme inovovali na ASP.NET 4.0 v systéme IIS 7.5 v systéme Windows 2008 R2. Z nejakého dôvodu, po približne 6-12 hodinách prevádzky (nie vždy presne, kedy, ale je to konzistentné), SiteMapPath zastaví načítanie pre každého, ak reštartujeme fond aplikácií alebo upravíme a uložíme súbory web.config alebo web.sitemap XML, SiteMapPath sa začne znovu načítavať.

Má niekto nejaké nápady, čo by to mohlo spôsobiť? Neexistujú žiadne úchytky súborov, ktoré by umožnili otvorenie súboru, ktorý môžem vidieť pomocou programu explorer.

Vďaka,

John

odpovede:

2 pre odpoveď č. 1

S tým sme bojovali dlhý čas, ale nakoniec sme mohli získať Microsoft, aby zistil, čo sa deje. Krátky príbeh je MS riešil s touto rýchlou opravou: http://support.microsoft.com/default.aspx?scid=kb;en-US;2472263

V našom prípade, ak je prvý žiadosť na webovej stránkebol z zariadenia cookieless (v našom prípade to bol nejaký Russion bot, Yandex), mapa stránok by bola postavená s cookiless URL a cache. Potom žiadne zariadenia, ktoré podporujú súbory cookie, by nikdy nefungovali kvôli spôsobu, akým bol súbor Sitemap ukladaný do vyrovnávacej pamäte s adresami URL pre relácie cookiless. Zatiaľ čo prvotné príznaky boli náhodné, nakoniec sme ich mohli zúžiť na recykláciu v bazéne aplikácie, po ktorom nasleduje prvá žiadosť od tohto botu.

Alternatívnym riešením, ktoré funguje, ak chcete vytlačiť cookies, je vykonať túto zmenu na web.config:

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

Vynútené vytvorenie súboru Sitemap bez použitia URL cookies.

Dúfam, že to pomôže!!