我用默认的ASP.NET MVC4 Web应用程序模板和Visual Studio中的过滤器目录创建InitializeSimpleMembershipAttribute和创建账户控制器是这样的:为什么class属性在WebAPI中不起作用?
[Authorize]
[InitializeSimpleMembership]
public class AccountController : Controller
{
/* Some Default Actions like Login, LogOff, Register, ...*/
}
,我尽量让的AccountController的WebAPI,我的代码是:
[Authorize]
[InitializeSimpleMembership]
public class APIAccountController : ApiController
{
[System.Web.Http.AcceptVerbs("GET", "POST")]
[System.Web.Http.HttpGet]
[System.Web.Http.HttpPost]
[System.Web.Http.AllowAnonymous]
[System.Web.Mvc.ValidateAntiForgeryToken]
public string Login(string UserName, string Password, bool RememberMe)
{
if (WebSecurity.Login(UserName, Password, persistCookie: RememberMe))
{
return "OK";
}
return "Failed";
}
}
现在,当我打电话的API,它在这个换行符:
如果(WebSecurity.Login(用户名,密码,每sistCookie:RememberMe))
并且说:在调用“WebSecurity”类的任何其他方法之前,您必须调用“WebSecurity.InitializeDatabaseConnection”方法。
我运行它在InitializeSimpleMembershipAttribute和webapi控制器是相同的控制器。
为什么属性不能在WebAPI中运行?