Perché Sitecore un'eccezione NullReferenceException quando ho reindirizzare ad una delle sue pagine?

StackOverflow https://stackoverflow.com/questions/2351449

Domanda

Io corro Sitecore 6.1 su Windows 2008, IIS7, e sto cercando di utilizzare l'URL Rewrite Module per fare un redirect. Quando ho attivare la regola e ha colpito l'URL che lo attiva, ho un YSOD. La stessa regola funziona perfettamente su un sito non-Sitecore sulla stessa macchina. Secondo la richiesta di traccia non riuscita, il modulo riscrittura fa la sua cosa più che bene, ma poi Sitecore genera un'eccezione, anche se i punti di reindirizzamento a un altro server. Questo è probabilmente il risultato di qualcosa che ho configurato in modo errato, ma non riesco proprio a capire perché non funziona. I dettagli della YSOD sono al di sotto.

[NullReferenceException: Object reference not set to an instance of an object.]  
   Sitecore.Nexus.Web.HttpModule.(Object sender, EventArgs e) +273  
   System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +68  
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75  
È stato utile?

Soluzione

Sitecore ha il proprio motore per il reindirizzamento URL, in modo da alcuni fili sono probabilmente sempre attraversato qui. Forse è necessario spostare la vostra HttpModule quindi è in esecuzione in precedenza nella catena.

Altri suggerimenti

Sitecore sostengono di aver risolto questo nella versione 6.2 rev.100831 (Update-4) - http://sdn.sitecore.net/Products/Sitecore%20V5/Sitecore%20CMS%206/ReleaseNotes/KnownIssues%20Recommended/Rewriting%20URLs.aspx

È possibile ottenere lo stesso errore quando si fa

Response.Redirect("~/SomeUrl.aspx")

nel codice C #, il modo per risolvere questo problema è quello di utilizzare il sovraccarico:

Response.Redirect("~/SomeUrl.aspx", true)

che si concluderà immediatamente la risposta.

Il modulo di riscrittura è, ovviamente, non finisce immediatamente la richiesta consentendo Sitecore per colpire questo problema. Si potrebbe ovviare a questo problema creando un modulo a che fare con i reindirizzamenti o cercando di estendere l'URL Rewrite Module per terminare immediatamente la risposta.

ho sperimentato questo in caso MultiSite su Sitecore v6.5, vedere la mia risposta qui: Sitecore NullReferenceException su GetBrowserClassString

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top