2016-07-03 2 views
1

В пустом проекте Web Api 2 я удалил папку Controllers, сгенерированную шаблоном проекта, и начал использовать папки с функциями (в отличие от папок типов).Как создать веб-маршрут Api 2, когда у меня есть папка с тем же именем?

У меня есть контроллер организаций в папке организации, т.е.

/organizations 
----OrganizationsController.cs 

OrganizationsController прост:

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

Это приводит к 403 при запросе {базы}/организации. IIS считает, что я пытаюсь просмотреть каталог организаций, который отключен IIS. Как я могу сообщить IIS и/или Asp.Net перестать пытаться следовать физической структуре и уважать только атрибуты Route?

ответ

0

В настоящее время я работаю над проблемой, введя папку/web для корня проекта. OrganizationController теперь находится в/web/organization/GroupsController. Это отлично работает, поскольку маршрут/организации больше не совпадает с физическим каталогом. Если есть способ отключить это с помощью конфигурации, отправьте другой ответ.

Смежные вопросы