在一个空的Web Api 2项目中,我删除了项目模板生成的Controllers文件夹,并开始使用功能文件夹(而不是类型文件夹)。
我在组织文件夹中有一个组织控制器,即
/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());
}
}
在请求{base} / organizations时会产生403。 IIS认为我正在尝试浏览IIS禁用的组织目录。如何告诉IIS和/或Asp.Net停止尝试遵循物理结构并仅尊重Route属性?
答案 0 :(得分:0)
我目前正在通过向项目根目录引入/ web文件夹来解决此问题。 OrganizationsController现在位于/ web / organizations / OrganizationsController。这很好,因为/ organizations路由不再匹配物理目录。如果有办法通过配置关闭它,请发布另一个答案。