【问题标题】:How to get same instance within a page request using structure map in asp.net?如何使用 asp.net 中的结构映射在页面请求中获取相同的实例?
【发布时间】:2011-04-18 06:35:35
【问题描述】:

我想在页面请求中获取相同的实例/ 我可以为此使用 HybridHttpOrThreadLocalScoped() 方法吗? 谁能帮我解决这个问题?

【问题讨论】:

    标签: c# .net asp.net dependency-injection structuremap


    【解决方案1】:

    您可以使用HybridHttpOrThreadLocalScoped,但使用HttpContextLifecycle 会更直观:

    container.Configure(r => r
        .For<IRepository>()
        .Use<SqlRepository>()
        .LifecycleIs(new HttpContextLifecycle());
    

    【讨论】:

    • 如果 httpcontext 不可用怎么办?我也在为非网络请求使用类。
    • 是的,在这种情况下,HybridHttpOrThreadLocalScoped 将是你的朋友 ;-)
    • 如何检查创建的实例是否在 httpcontext 的范围内?
    • 从应用程序的角度来看,这无关紧要。如果您需要在您的应用程序中检查这一点,您应该重新考虑您的应用程序设计或选择的注册。
    • 如果你用你正在做的事情的代码更新你的问题,我也许可以为你提供替代解决方案。
    猜你喜欢
    • 1970-01-01
    • 2020-02-10
    • 1970-01-01
    • 1970-01-01
    • 2022-01-09
    • 1970-01-01
    • 2019-07-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多