Das macht mich wahnsinnig. Ich habe das Web.Routing in einer Web Forms-Anwendung implementiert. Die Anwendung funktioniert gut und dann unerklärlicherweise (zumindest im Moment) die folgende Fehlermeldung ausgelöst wird:
Objektreferenz nicht auf eine Instanz eines Objekts gesetzt. bei System.Web.Routing.RouteCollection.GetRouteData(HttpContextBase httpContext) bei System.Web.Routing.UrlRoutingModule.PostResolveRequestCache(HttpContextBase context) bei System.Web.Routing.UrlRoutingModule.OnApplicationPostResolveRequestCache(Object sender, EventArgs e) bei System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() bei System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Dieser Fehler tritt in unregelmäßigen Abständen auf, und das Problem lässt sich auch durch Navigieren auf der Website nicht beheben.
Meine Interpretation des Fehlers ist, dass eine Anforderung an den Server in einem PostResolveRequestCache-Ereignis mit einem null httpContext führt, aber ich bin nicht sicher, wie das möglich ist.
Das Problem wird durch einen Neustart des Anwendungspools behoben.
Die Anwendung läuft auf IIS6, deshalb habe ich eine Wildcard-Anwendungszuordnung zu aspnet_isapi.dll hinzugefügt, wobei die Option "Überprüfen, ob die Datei vorhanden ist" deaktiviert ist. Dies ist, um freundliche Urls ohne Dateierweiterungen zu ermöglichen, ich bin jedoch in Erwägung, dies als eine mögliche Arbeit herum zu ändern. Der Gedanke dahinter ist, dass möglicherweise eine Anforderung an den Server gesendet wird, die vom Modul abgeholt wird, die nicht sein sollte.
Meine Implementierung wurde angepasst, folgt aber den allgemeinen Richtlinien von Herrn Haack. Aufgrund der Art des Fehlers bin ich mir nicht sicher, ob einer meiner Codes viel Aufschluss geben würde, aber ich bin natürlich bereit, dies auf Anfrage zu tun.
Für jede Hilfe wären wir Ihnen sehr dankbar.