Ich habe eine Website, die den Benutzer nach einer Weile der Inaktivität protokolliert. Dies wird durch den folgenden Code getan:Respone.Redirect verursacht gelegentlich Fehler, aber ich kann es nicht reproduzieren
window.location = "./logout.aspx?timeout=true";
Aber dreimal in den letzten paar Tagen habe ich die folgende Ausnahme erhalten haben:
System.Web.HttpException
The file '/NIR310/Person/logout.aspx' does not exist.
at System.Web.UI.Util.CheckVirtualFileExists(VirtualPath virtualPath)
at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile)
at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile)
at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean noAssert)
at System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp, Boolean noAssert)
at System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)
at System.Web.UI.PageHandlerFactory.System.Web.IHttpHandlerFactory2.GetHandler(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)
at System.Web.HttpApplication.MapHttpHandler(HttpContext context, String requestType, VirtualPath path, String pathTranslated, Boolean useAppConfig)
at System.Web.HttpApplication.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Auf den ersten Fehler schien offensichtlich, da logout.aspx nicht ist im Ordner "Person" enthalten, aber auf der Stammebene, aber warum passiert das nicht jedes Mal, wenn ich vom Ordner "Person" abgemeldet werde? Ich habe die gleiche Routine immer und immer wieder gemacht, aber der Fehler tritt fast nie auf.
Irgendwelche Ideen?
Ja, diese Methode ist definitiv zuverlässiger als statische URLs. – Kezzer