如何在StructureMap中注册Global.asax中的IAuthenticationManager

时间:2014-11-14 19:42:50

标签: c# asp.net-mvc asp.net-mvc-5 asp.net-identity-2

我希望在Application_Start()中使用以下代码注册IAuthenticationManager:

//
 x.For<IAuthenticationManager>().Use(HttpContext.Current.GetOwinContext().Authentication);  

当我运行我的mvc5项目时,我收到此错误

  

在上下文中找不到owin.Environment项目

1 个答案:

答案 0 :(得分:3)

我相信你在这里调用的重载是试图立即解决,并且在App Start期间没有当前的HttpContext。尝试使用具有Func参数的Use的重载用于构造。

x.For<IAuthenticationManager>().Use(ctx => HttpContext.Current.GetOwinContext().Authentication);