Das muss etwas wirklich dumm sein, aber ich kann nicht denken, was sonst noch zu tun.Web API zeigt 403.14 Fehler, wenn localhost: Port-Nummer ist in Browser-Adresse in IIS Express
Mit Visual Studio 2013 - Update 1 habe ich ein leeres Web-API-2-Projekt in einer bestehenden Lösung erstellt, das Cross-Origin-Support-Paket (cors) hinzugefügt und einen einfachen Web-API-Controller erstellt.
Die WebApiConfig Klasse scheint in Ordnung zu sein:,
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
var cors = new EnableCorsAttribute("*","*","*");
config.EnableCors(cors);
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
Und auch IIS
protected void Application_Start()
{
GlobalConfiguration.Configure(WebApiConfig.Register);
}
ich dann führen Sie die Anwendung der Global.asax Express startet normal und der Browser startet mit der URL der Anwendung aber nichts scheint zu funktionieren.
Wenn die URL "localhost: Portnummer" ist, bekomme ich HTTP-Fehler 403.14 - verboten Der Webserver ist konfiguriert, den Inhalt dieses Verzeichnisses nicht auflisten.
Wenn ich versuche "localhost: Portnummer/api" bekomme ich HTTP-Fehler 404,0 - nicht gefunden Die Ressource, die Sie suchen, wurde entfernt, hatte seinen Namen geändert oder ist vorübergehend nicht verfügbar.
Ich habe mir mehrere Blogs, Tutorials, Beispiele angesehen und ich habe nirgendwo gesehen, dass etwas Besonderes zu tun ist. Könnte jemand bitte etwas Licht in das werfen, was ich vielleicht vermisse?
Ich habe auch versucht, dass und ich den Explorer „Die Website die Seite nicht anzeigen kann“ und als Ursache –
„Die Website einen Programmierfehler hat“ Can Sie veröffentlichen einige Ihrer Controller-Klasse, damit wir sehen können, wie Ihre Methoden aussehen? – jensendp
Es stellte sich heraus, dass ich versuchte, benutzerdefinierte Namen für die Methoden zu verwenden und dann erkannte, dass diese API nur die Standard-HTTP-Verben zulässt, es sei denn, die Routendefinition wurde geändert, was für mich gerade keine Voraussetzung ist. Danke, dass du dir die Zeit genommen hast, deine Antwort zu beantworten. –