/ / SiteMapPath Interrompe la visualizzazione in ASP.NET 4 - asp.net, iis-7.5, sitemapprovider, sitemappath, xml-sitemap

SiteMapPath smette di essere visualizzato in ASP.NET 4 - asp.net, iis-7.5, sitemapprovider, sitemappath, xml-sitemap

Abbiamo un controllo SiteMapPath sulla pagina equesto è associato a un file Web.sitemap XML con il provider predefinito. Abbiamo questo sito da anni e di recente l'aggiornamento a ASP.NET 4.0 su IIS 7.5 su Windows 2008 R2. Per qualche motivo, dopo circa 6-12 ore di funzionamento (non sono sicuro esattamente quando, ma è coerente), il SiteMapPath interrompe il caricamento per tutti: se si riavvia il pool di applicazioni o si modifica e si salva il file web.config oi file XML web.sitemap, SiteMapPath si avvia nuovamente.

Qualcuno ha qualche idea su cosa potrebbe causare questo? Non ci sono handle di file che mantengono aperto il file che posso vedere usando process explorer.

Grazie,

John

risposte:

2 per risposta № 1

Abbiamo lottato con questo per un lungo periodo, ma alla fine siamo riusciti a convincere Microsoft a capire cosa stava succedendo. Una breve storia è che MS l'ha affrontato con questo hotfix: http://support.microsoft.com/default.aspx?scid=kb;en-US;2472263

Nel nostro caso, se la prima richiesta al sito webproveniva da un dispositivo senza cookie (nel nostro caso si trattava di un robot Russion, Yandex), la sitemap sarebbe stata costruita con URL cookiless e memorizzati nella cache. Quindi, tutti i dispositivi che supportano i cookie non funzionerebbero mai a causa del modo in cui la sitemap è stata memorizzata nella cache con URL per le sessioni cookiless. Mentre i sintomi iniziali erano casuali, alla fine siamo stati in grado di restringerlo a un riciclo del pool di app seguito dalla prima richiesta da questo bot.

Una soluzione alternativa che funziona se si desidera forzare i cookie è di apportare questa modifica a web.config:

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

Questo costringe la mappa del sito a essere costruita senza utilizzare URL privi di cucina.

Spero che questo ti aiuti!!