Я получаю следующее исключение при попытке входа в систему:
The current request for action 'Login' on controller type 'AccountController' is ambiguous between the following action methods:
System.Web.Mvc.ActionResult Login() on type Sandbox.Web.Controllers.AccountController
System.Web.Mvc.ActionResult Login(Sandbox.Web.Models.Account.LoginModel) on type Sandbox.Web.Controllers.AccountController
Хорошо, я знаю, что это значит, но я не понимаю, почему я получаю это (только) при входе в систему.Мой код входа был построен, как и все мои другие действия
public class AccountController : Controller
{
// ctor...
[AllowAnonymous]
public ActionResult Login()
{
// ...
}
[AllowAnonymous]
[HttpPost]
public ActionResult Login(LoginModel model)
{
// ...
}
}
Другие мои действия созданы как
ActionResult Create()
[HttpPost]
ActionResult Create(OrderModel model)
ActionResult Edit(int id)
[HttpPost]
ActionResult Edit(OrderModel model)
, и они работают без проблем.
Я используюAutofac 4.9 с Autofac.Integration.Mvc (4.0) в приложении MVC 5.2.7.Единственная часть, которую я изменил из шаблона MVC по умолчанию, - это средство разрешения зависимостей
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
Если я поставлю [HttpGet]
перед Login()
, все будет работать хорошо.
Любой, у кого есть идеи о том, какзаставить это работать или почему это не работает?