2017-04-21 2 views
0

ich eine api-Controller mit dem Attribut Routing erstellt haben zu durchsuchen:IIS versucht Verzeichnisattribut für eine leere Route

[RoutePrefix("fonts")] 
public class InfoController : ApiController 
{ 
    [Route("")] 
    [HttpGet] 
    public IHttpActionResult GetSomeInfo() 
    { 
     return Ok(new { Name = "Some name" }); 
    } 
} 

Und ich habe einen Ordner im Projektstamm namens „Fonts“.

, wenn ich auf Anfrage versuchen:

GET /fonts 

IIS wirft einen Fehler:

HTTP Error 403.14 - Forbidden 
The Web server is configured to not list the contents of this directory. 

Wie kann ich dieses Problem beheben, die Controller-Aktion zu nennen?

UPDATE: Hier ist die Web-API Config-Klasse, die die Standard-Web-API-Konfiguration von VS erstellt wird.

public static class WebApiConfig 
    { 
     public static void Register(HttpConfiguration config) 
     { 
      // Web API configuration and services 

      // Web API routes 
      config.MapHttpAttributeRoutes(); 

      config.Routes.MapHttpRoute(
       name: "DefaultApi", 
       routeTemplate: "api/{controller}/{id}", 
       defaults: new { id = RouteParameter.Optional } 
      ); 
     } 
    } 
+1

Ist Attribut-Routing aktiviert? – Nkosi

+0

Ja, ich habe meine Frage aktualisiert, um die Web-API-Konfiguration anzuzeigen. –

+0

Ja, das hat das Problem gelöst –

Antwort

0

Dies wird in this page gelöst.

ich gesetzt hatte:

routes.RouteExistingFiles = true; 
Verwandte Themen