2014-09-30 3 views
8

Ich habe gerade versucht, eine WebApi-Anwendung auf einem Windows 2008R2 mit IIS 7.0 bereitzustellen, mit IIS-Manager bis jetzt unberührt.WebApi Anwendung: Fehler 404.0, Handler StaticFile

Die App läuft auf unserem Dev-Server (gleiche Win-und IIS-Version) ohne Probleme. Auf dem Deployment Server,

  • .NET Framework 4.5 installiert ist,
  • ASP.NET Feature installiert ist und
  • Windows-Authentifizierung

installiert Wenn ich eine URL aufrufen, die zur Karte sollte ASP.NET, der Fehler ist

 HTTP Error 404.0 

     Module IIS Web Code 
Notification MapRequestHandler 
     Handler StaticFile 
    Error code 0x80070002 
Requested URL http://localhost:80/myapp/api/GetUserConfig 
Physical Path C:\inetpub\wwwroot\myapp\api\GetUserConfig 
Logon Method Negotiate 
    Logon User ADDOMAIN\Administrator 

Handler Static scheint wichtig - soweit ich das beurteilen kann, ist die Ursache, dass ASP.NET die URL nicht korrekt behandelt. Wo kann ich nach der eigentlichen Wurzel dieses Problems suchen?

Ich sollte hinzufügen, dass mehrere andere Bereitstellungen, alle in Windows 2012-Umgebungen, erfolgreich waren.

+0

Haben Sie in der Konfigurationsdatei ausgesehen hat? Scheint alles in Ordnung? –

+0

Haben Sie die statische Inhaltsfunktion von iis aktiviert? Sehen Sie dieses Blog für, wie man: http://brendan.enrick.com/post/IIS-7-Not-Serving-Static-Files – Avner

+0

Mein schlechtes ich falsch gelesen Ihre Frage. Klingt wie ein mögliches Duplikat von https://stackoverflow.com/questions/9703090/http-404-page-not-found-in-web-api-hosted-in-iis-7-5 – Avner

Antwort

1

Microsoft sollte definitiv eine Version auf "ASP.NET" Feature im Installer setzen.

Wenn Sie ASP.NET-Funktion auf Windows 2008 installieren, das ASP.NET ermöglicht 3.5, während ich ASP.NET benötigen 4.

So nach der Installation von .NET Framework v4 ist, würde ich mich nach vorne und registrieren ASP .NET 4 mit IIS:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319> .\aspnet_regiis.exe -i 

Quelle:

https://alexanderzeitler.com/articles/HTTP-Error-4040---Not-Found-(MapRequestHandler--StaticFile)-when-deploying-WCF-Web-API-on-IIS-7x/

+0

Nur ein Hinweis: der Link in Ihrer Antwort ist tot –

+0

@ HoàngLong Danke, ich aktualisierte die Antwort entsprechend. – Alexander

+0

Ich habe das gleiche Problem; IIS verarbeitet die Anforderung wie eine statische Dateianforderung, obwohl sie eindeutig einer Controlleraktion zugeordnet ist. Aber ich habe eine andere Web-API-Anwendung, die korrekt auf dem gleichen Server arbeitet, mit dem gleichen Anwendungspool, der gleichen Version von .net, und so weiter, also glaube ich nicht, dass mir irgendeine serverseitige Software fehlt. Die Dateien Global.asax und Web.config und WebApiConfig.cs sind identisch. Die Controller-Aktion, der ich meine, erfordert keine Parameter. Ich verstehe einfach nicht, was das alles verursachen könnte. – Shavais

0

ich hatte ein ähnliches Problem auf diese mit Owin. Löschen temporärer ASP.NET-Dateien hat es behoben. Hoffe, das hilft jemandem.

Verwandte Themen