IIS 尝试浏览目录以查找空路由属性
IIS trying to browse directory for an empty route attribute
我已经创建了一个 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 配置 class,这是 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 }
);
}
}
这在this page中解决了。
我必须设置:
routes.RouteExistingFiles = true;
我已经创建了一个 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 配置 class,这是 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 }
);
}
}
这在this page中解决了。
我必须设置:
routes.RouteExistingFiles = true;