Pourquoi Sitecore lancer une exception NullReferenceException lorsque je réoriente à une de ses pages?

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

Question

Je suis en cours d'exécution Sitecore 6.1 sur Windows 2008, IIS7, et je suis en train d'utiliser l'URL Rewrite module pour faire une redirection. Quand j'activer la règle et a frappé l'URL qui déclenche, je reçois un YSOD. La même règle fonctionne parfaitement sur un site non-Sitecore sur la même machine. Selon la Trace Échec de la demande, le module de réécriture fait son travail très bien, mais Sitecore lance une exception, même si les points de redirection vers un autre serveur. Ceci est probablement le résultat de quelque chose que j'ai mal configuré, mais je ne peux pas comprendre pourquoi cela ne fonctionne pas. Les détails de la YSOD sont ci-dessous.

[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  
Était-ce utile?

La solution

Sitecore a son propre moteur pour la redirection d'URL, de sorte que certains fils sont probablement se traversé ici. Peut-être que vous devez déplacer votre HttpModule il est donc plus tôt dans l'exécution de la chaîne.

Autres conseils

Vous pouvez obtenir la même erreur lorsque vous faites

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

dans le code C #, la façon de résoudre ce problème est d'utiliser la surcharge:

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

qui prendra fin immédiatement la réponse.

Le module de réécriture se termine évidemment pas immédiatement la demande permettant Sitecore de frapper ce problème. Vous pouvez contourner ce problème en créant un module pour traiter les redirections ou d'essayer d'étendre l'URL Rewrite Module pour mettre fin immédiatement la réponse.

Je l'ai vécu en exemple multisite sur Sitecore v6.5, voir ma réponse ici: Sitecore NullReferenceException sur GetBrowserClassString

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top