2017-02-09 94 views
-1

我有一个ASP.NET MVC应用程序,我已经激活了WEB API 2路由。当应用程序使用默认url启动时,默认操作未被调用。我收到以下消息:ASP.NET MVC路由失败

“消息”:“请求的资源不支持http方法'GET'。”

这开始发生时,我通过 config.MapHttpAttributeRoutes()操作激活[控制器具体]路由功能。

如果我不包含这个调用,默认动作就会被调用。

如果我离开呼叫 - 我仍然可以具体包括他们在URL访问的行动 - 像 XXX /主页/ XXX /首页/指数

我曾在以前的应用纳入路由。这个应用程序是接管我的,我无法确定为什么默认操作没有被调用。

+3

请向我们显示您的控制器/操作代码复制/粘贴完整的错误消息。 –

+1

你在路由上有路由属性吗?像[HttpPost]这样的东西? – nurdyguy

+0

没有错误。 – Peter

回答

0

目前还不清楚实际发生了什么,但似乎WEB API路由在解释基础URL时遇到了困难。我不知道为什么会出现这种情况,因为WEB API的路由基于不同的路由签名。但是当动态API路由开启时,这个问题就开始发生了。我解决了这个问题,我在一个地方应用了一个新的路由处理程序,并将其应用于一个空的路由定义,该路由定义必须在所有其他路由配置之前注册。

这并不理想,我仍然需要弄清楚为什么WEB API路线会受到影响。