在visual studio 2013中,我创建了一个web api项目(在向导中也选择了mvc框架)
无论如何在控制器中我只有从ApiController派生的AccountController类
public class AccountController : ApiController
在同一个项目中,有可能有一个mvc控制器和api控制器吗?如何使用api控制器和mvc控制器处理身份验证(注册,登录,ecc ...)?
该向导仅生成apicontroller
你可以创建一个具有相同名称的新MVC控制器,只要你的路由配置不会产生任何冲突 . MVC控制器将实现Controller而不是ApiController .
正如您所料,您需要确保没有任何命名空间冲突 .
对于身份验证,您可以使用单独的AuthorizeAttributes . System.Web.Http中的一个用于WebAPI,而一个用于MVC的一个用于System.Web.MVC
1 回答
你可以创建一个具有相同名称的新MVC控制器,只要你的路由配置不会产生任何冲突 . MVC控制器将实现Controller而不是ApiController .
正如您所料,您需要确保没有任何命名空间冲突 .
对于身份验证,您可以使用单独的AuthorizeAttributes . System.Web.Http中的一个用于WebAPI,而一个用于MVC的一个用于System.Web.MVC