带有.Json文件扩展名的Web API路由

时间:2016-10-28 03:02:04

标签: asp.net-mvc asp.net-web-api asp.net-web-api2 asp.net-mvc-routing

我有一个带有以下路线的ApiController" ... / api / swagger.json"。除非我添加下一个'添加' web.config语句因为IIS试图使用StaticFile Handler解析地址,我得到了404。

<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*" verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>

但是,如果我添加这个,然后你点击一个实际上不存在的地址(... / api / someGarbage / blah)我得到一个错误500 - 用户应该得到404而不是500。

是什么给出的?所有这些废话,因为我想在我的路线名中使用.json?这是一个相当简单的方法。

编辑要非常清楚 - 如果我添加并配置ExtentionLessUrlHander,那么IIS会抛出应该抛出404的错误500.这不是所有未找到的东西的默认响应。您可以从屏幕截图中看到IIS正在尝试使用ExtensionlessUrlHandler执行这个无意义的地址,但是为什么不能从中获取正确的404?基本上我可以在路径中为扩展提供服务,但结果却松了404。

0 个答案:

没有答案