2016-07-03 17 views
1

In einem leeren Web Api 2-Projekt habe ich den Ordner Controller, der von der Projektvorlage generiert wurde, entfernt und Feature-Ordner (im Gegensatz zu Typen-Ordnern) verwendet.Wie kann ich eine Web Api 2 Route erstellen, wenn ich einen Ordner mit demselben Namen habe?

Ich habe eine Organisation Controller in einem Organisation Ordner, das heißt

/organizations 
----OrganizationsController.cs 

Die OrganizationsController einfach:

[RoutePrefix("organizations")] 
public class OrganizationsController : ApiController 
{ 
    public const string GetAllOrganizationsRouteName = "GetAllOrganizations"; 
    [HttpGet] 
    [Route(Name = GetAllOrganizationsRouteName)] 
    public IHttpActionResult GetAllOrganizations() 
    { 
     return Ok(Guid.NewGuid().ToString()); 
    } 
} 

Dies führt zu einem 403, wenn {Basis} anfordernden/Organisationen. IIS glaubt, dass ich versuche, das Organisationsverzeichnis zu durchsuchen, das von IIS deaktiviert wird. Wie kann ich IIS und/oder Asp.Net mitteilen, dass sie aufhören sollten, der physischen Struktur zu folgen und nur die Route-Attribute zu respektieren?

Antwort

0

Ich arbeite derzeit um das Problem durch die Einführung eines/Web-Ordners in den Projektstamm. OrganizationsController befindet sich jetzt unter/web/organizations/OrganizationsController. Dies funktioniert gut, da die Route/organisations nicht mehr mit einem physischen Verzeichnis übereinstimmt. Wenn es eine Möglichkeit gibt, dies mit config auszuschalten, posten Sie bitte eine andere Antwort.