Frage Datei existiert in VS2010 nicht als Ausnahme


Ich habe den Code einer Website von jemand anderem übernommen, um das Problem zu lösen, und jedes Mal, wenn ich eine Seite lade, bekomme ich die Ausnahme "Datei existiert nicht" im Application_Error-Handler in meiner Global.asax-Datei .

Ich war neugierig, was es war, also habe ich versucht, brandneue Lösungen sowohl mit einer Website als auch mit einer Webanwendung zu erstellen, sowohl mit als auch ohne eine Masterseite und eine einzelne ASPX-Seite - beide hatten das gleiche Problem.

Dies verwendet VS2010 und .NET 3.5, unter Windows 7 64-Bit.

Irgendwelche Ideen bitte? Der Stack-Trace sagt mir absolut nichts und die Tatsache, dass ich es mit neuen Projekten bekomme, ist merkwürdig.

Ausnahme Stack Trace:

at System.Web.StaticFileHandler.GetFileInfo(String virtualPathWithPathInfo, String physicalPath, HttpResponse response)
at System.Web.StaticFileHandler.ProcessRequestInternal(HttpContext context)
at System.Web.DefaultHttpHandler.BeginProcessRequest(HttpContext context, AsyncCallback callback, Object state)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

9
2018-06-27 21:14


Ursprung


Antworten:


Der Trick, herauszufinden, welche Datei nicht existiert, ist die Verwendung des folgenden Codes in der Application_Error Methode.

protected void Application_Error(Object sender, EventArgs e)
{
  Exception ex = Server.GetLastError().GetBaseException();
  string file = HttpContext.Current.Request.Url.ToString();
  string page = HttpContext.Current.Request.UrlReferrer.ToString(); 
}

Dadurch wird der Name der fehlenden Datei und die ursprüngliche Seite, von der die Anfrage stammt, abgerufen.


10
2017-12-05 20:51



Was ist der Dateiname in der Ausnahme? Wenn der Dateiname oder der Pfad verschleiert ist, haben Sie wahrscheinlich eine Beschädigung in temporären ASP.NET-Dateien. Versuchen Sie "clean solution" und "rebuild solution" und führen Sie es erneut aus.

Andernfalls müssen Sie weitere Informationen bereitstellen, einschließlich der vollständigen Ausnahmebedingungsnachricht und nicht nur der Aufrufliste. Tritt dies auf der Standardseite der Site auf? Ist das Webprojekt als Startprojekt ausgewählt? Tritt dies im Visual Studio-Webserver oder IIS auf?


3
2018-06-27 21:36



Ich erkenne meinen Fehler in Application_Error innerhalb von gloal.asax Ich bekomme auch Request.Url.ToString (), dies würde Ihnen die Täter-Ressource geben. Zum Beispiel habe ich in meiner App festgestellt, dass der Application_Error sogar über das favicon.ico klagt, und auch wenn Sie einige Dateien haben, die Sie möglicherweise von Ihrem CSS referenzieren, würde es vom Application_Error-Ereignis abgefangen werden.

Sehen Sie sich in diesem Blog zum Beispiel das gleiche Problem an und verwenden Sie Request.Url, um herauszufinden, um welche Ressource es sich handelt. Dies sollte helfen http://dotbert.loedeman.nl/httpexception-file-does-not-exist


2
2018-05-20 08:58



Ich bin leider nie auf den Grund gekommen und ein überfälliger Wiederaufbau meines Computers hat es sortiert.


1
2018-02-27 10:43



Ich habe das für meine Situation gelöst ... Es stellte sich heraus, dass die Projekteigenschaften wieder auf "Aktuelle Seite verwenden" (in VS 2010 - Projekteigenschaften | Startoptionen | Startaktion) zurückgesetzt wurden.

Das Seltsame ist, dass ich die Startoptionen auf "Spezifische Seite:" gesetzt hatte - so verlor VS 2010 irgendwo auf der Linie den Überblick und ging zurück auf "Aktuelle Seite verwenden".

Rauben.


1
2018-04-13 19:37