【问题标题】:SimpleInjector, OWIN and ASP.Net MVC integrationSimpleInjector、OWIN 和 ASP.Net MVC 集成
【发布时间】:2016-03-20 23:13:17
【问题描述】:

根据 SimpleInjector documentation,我们可以像这样定义一个在 OWIN 请求期间将存在的 Scope。

public void Configuration(IAppBuilder app) {
    app.Use(async (context, next) => {
        using (container.BeginExecutionContextScope()) {
            await next();
        }
    });
}

但是,调用 container.GetCurrentExecutionContextScope() 在 ASP.Net 控制器的操作中调用时总是返回 null。

    [HttpGet]
    public void MyAction()
    {
      // Here scope is always null
       var scope = Container.GetCurrentExecutionContextScope();
    }

我认为它不应该为空,因为控制器操作调用在 OWIN 请求的范围内..

这里需要专家的一些澄清.. :)

谢谢

【问题讨论】:

  • 对于 MVC ,控制器在 webrequest 的范围内(参见simpleinjector.readthedocs.org/en/latest/mvcintegration.html)。你想通过这样做达到什么目的?
  • 我想在 OWIN 管道和 MVC 操作之间共享相同的对象实例(由 SimpleInjector 实例化)(我认为应该包含在 OWIN 请求的生命周期中,但我可能会错过一些信息)
  • Thomas 已经被问到,“你想通过这样做实现什么目标?”
  • 如果我没记错的话,OWIN 管道的东西也在 Web 请求中运行,所以最适合的生活方式是 WebRequestLifestyle。
  • @qujck 我正在尝试将身份框架与 DI 容器(我的案例为 SimpleInjector)集成,我需要共享一些通过 OWIN 和 DI 容器初始化的对象实例。

标签: asp.net-mvc owin simple-injector


【解决方案1】:

【讨论】:

    猜你喜欢
    • 2023-03-23
    • 2017-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-23
    • 2023-03-07
    • 1970-01-01
    相关资源
    最近更新 更多