Przepraszam, jeśli odpowiedź została już udzielona na tej stronie, szukałem, ale nie znalazłem tego dokładnego scenariusza.Jak rozwiązywać problemy "System.Web.HttpException (0x80004005): Plik nie istnieje"?
Dodaję log4net do usługi WCF. Dodałem procedurę obsługi w zdarzeniu Application_Error i przechwytuje błąd pliku nie znaleziono na każdym wniosku.
Widziałem to z witrynami internetowymi i zazwyczaj błąd można przypisać do nie posiadania "favicon" pliku w katalogu głównym lub do brakującego obrazu, o którym mowa w arkuszu stylów CSS.
Jest to jednak usługa WCF, nie ma arkusza stylów CSS, a dodanie favikona do katalogu głównego nie rozwiązało problemu.
Czy ktoś inny ma dobry sposób na rozwiązanie tego problemu?
pewne wskazówki:
- nie wdrożyli to jeszcze do prawdziwego serwera IIS, używam go lokalnie.
- Błąd nie dzieje gdy Używam w DEBUG wewnątrz Visual Studio, tylko wtedy, gdy dostęp do usługi za pomocą przeglądarki internetowej (IE lub Chrome)
dodałem adres URL i plików ścieżkę do komunikatu o błędzie, a to właśnie one:
FilePath:/
błąd: System.Web.HttpException (0x80004005): Plik nie istnieje.
Edit: Powyższe wartości są tym, co pojawia się w zalogowanego wyjątkiem:
protected void Application_Error(object sender, EventArgs e)
{
var objErr = Server.GetLastError().GetBaseException();
if (objErr is System.Web.HttpException)
{
var filePath = Context.Request.FilePath;
var url = ((HttpApplication) sender).Context.Request.Url;
Log.Error("URL: " + url + "; FilePath: " + filePath, objErr);
} else
Log.Error("Application Error", objErr);
}
Każda pomoc będzie mile widziana.
Czy zapomniałeś wspomnieć o pliku .svc w adresie URL? – Pradeep
Zobacz komentarz opublikowany na moje pytanie. – camainc
użyj 'klawisza (również zawierającego znak ~) do formatowania kodu w komentarzach i tym podobnych. –