3
我不能找出解決經由Autofac一種服務,用於在構造的Owin上下文,並且還設置在請求端以正確的方式。解決Autofac服務上Owin啓動
由於OwinContext目前仍在建設中,因此無法通過致電HttpContext.Current.GetOwinContext().GetAutofacLifetimeScope()
找到LifetimeScope。 OwinContext尚未在此處提供。
在我的代碼中,IAdfsAuthorizationProvider
服務直接在Container
上解析,但不會在請求後處理並且壽命更長。
我可以通過調用container.BeginLifetimeScope()
來創建一個新的LifeTimeScope,但現在生命期被分開了請求,並且可能會解析同一請求中的不同實例。而且我無法在正確的時間處理lifeTimeScope。
public void Configure(IAppBuilder app)
{
var builder = new ContainerBuilder();
builder.RegisterType<AdfsAuthorizationProvider>().As<IAdfsAuthorizationProvider>().InstancePerLifetimeScope();
var container = builder.Build();
app.UseAutofacMiddleware(container);
// **Service that's not binding to the request lifetime.**
var service = container.Resolve<IAdfsAuthorizationProvider>();
app.UseOAuthAuthorizationServer(new OAuthAuthorizationServerOptions
{
Provider = new AuthorizationServerProvider(service),
});
}
有沒有人有建議?