我有一个使用SimpleMembershipProvider的asp.net mvc4 / webapi,我正在尝试使用新的asp.net Identity更新到mvc5 / webapi2。我更新了所有程序集,删除了过时的程序集,删除了我的旧AuthController,并根据vs2013的基本mvc5应用程序创建了一个新程序集。更正了所有错误并更改了一点我的javascript以指向新控制器。我不需要迁移用户,所以只需删除数据库并让它创建一个新数据库。除了一个细节之外,一切正常:
No HTTP resource was found that matches the request URI 'http://localhost:12128/api/Account/Register'.
如果我从[Route("Register")]
方法中移除Register
,则可以正常运行。但我想使用属性路由...所以我认为我的问题是,什么确实启用mvc 5上的属性路由?也许我在web.config上伪造一些东西,或者在项目中调用一些方法甚至一些旧程序集......但我发现我的应用程序和基本应用程序之间没有任何区别。任何提示都会很棒。
答案 0 :(得分:0)
您是否在MapHttpAttributeRoutes()
上致电HttpConfiguration
分机?请注意,传统路由永远不能访问使用属性路由修饰的控制器/操作。如果您希望传统路由可以访问这些属性,则必须从所有控制器/操作中明确删除属性路由特定属性。
此外,您可能需要对MVC4应用程序进行其他更改才能升级到MVC5。以下博客文章可以帮助您:
http://www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and-web-api-2