【发布时间】:2015-04-20 11:09:22
【问题描述】:
我们有一个 API,使用 Attributes 进行路由,并首先在我们的启动方法中注册 config.MapHttpAttributeRoutes();
这在本地运行良好。
但是在测试环境中,Api 路由不匹配请求,而是尝试通过默认 MVC 路由器进行匹配。默认的 MVC 路由是在我们的启动方法结束时注册的。
我已经三次检查了配置转换,甚至是部署的 web.config,以确保没有 url 重写妨碍。
请求是简单的 JSON 请求。
任何人有任何其他可能导致 Api 路由仅在远程环境中被忽略的指针吗?
谢谢
【问题讨论】:
-
尝试注释掉其他路由代码。
-
您是在 IIS 中托管还是自托管?如果在 IIS 中,有各种配置点可能会影响它,例如 URL 重写。尝试部署到新站点而不是现有站点。还有一个很好的 nuget 包,叫做 RouteDebugger,它可能会提供一些见解
-
@heymega Azure 网站 - IIS。
-
@sallushan - 干杯,但这不是路由的顺序,因为 WebApi 先注册并在本地工作。
标签: asp.net .net json asp.net-mvc asp.net-web-api