IIS尝试浏览目录以获取空路由属性

时间:2017-04-21 10:48:25

标签: iis asp.net-web-api2 attributerouting

我创建了一个带属性路由的api控制器:

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

我在项目根目录中有一个名为“fonts”的文件夹。

当我试图请求时:

GET /fonts

IIS抛出错误:

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

如何解决此问题以调用控制器操作?

更新 这是web api配置类,它是VS创建的默认Web api配置。

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 个答案:

答案 0 :(得分:0)

这已在this page中解决。

我必须设置:

routes.RouteExistingFiles = true;