3

我有一个使用 SimpleMembershipProvider 的 asp.net mvc4/webapi,我正在尝试使用新的 asp.net 身份更新到 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 上忘记了一些东西,或者在项目中调用了一些方法甚至是一些旧程序集......但我在我的应用程序和基本应用程序之间找不到任何区别。任何提示都会很棒。

4

1 回答 1

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

于 2013-11-04T00:03:46.523 回答