MVC 6中的GetOwinContext

时间:2016-02-12 04:14:07

标签: c# asp.net owin asp.net-core-mvc httpcontext

我在我的Asp.Net5 MVC 6 Web应用程序中使用Membership Reboot来管理我的身份,登录等。

我正在尝试让MR的OwinAuthenticationService作为IAuthenticationService接口的实现工作,我依赖注入我的控制器。

此示例涉及使用以下Autofac注册注入builder.Register(ctx=>HttpContext.Current.GetOwinContext()).As<IOwinContext>(); builder.Register<IAuthenticationService>(ctx => { var owin = ctx.Resolve<IOwinContext>(); return new OwinAuthenticationService( MembershipRebootOwinConstants.AuthenticationType, ctx.Resolve<IUserAccountService>(), owin.Environment); }).InstancePerLifetimeScope();

HttpContext.Current.GetOwinContext()

在MVC5中,Microsoft.Owin.Host.SystemWeb可以作为HttpContext.Current程序集中的扩展方法。但是,此程序集不再在MVC6中使用,因此HttpContext无法解析。

我已经看到访问IHttpContextAccessor的新方式是使用新的OwinAuthenticationService接口,但这并没有解决获取Owin上下文的问题。

有没有办法在MVC6或当前的Owin环境字典中获取当前的Owin上下文(因为这是disableButton = function () { $("#target").off("click"); }; enableButton = function() { $('#target').on("click", clickevent); $('#target').click(); }; 类使用的那个)?

1 个答案:

答案 0 :(得分:0)

OWIN失去了在ASP.NET Core 1.0(又名ASP.NET 5)中的地位,

https://docs.asp.net/en/latest/fundamentals/owin.html

但您可以在上面的页面上找到所有信息。似乎OWIN背景已经消失。