【问题标题】:Nancyfx Singleton Per SessionNancyfx Singleton 每个会话
【发布时间】:2012-12-23 19:16:11
【问题描述】:

如果这是一个明显的问题,请原谅,但我看不到让南希的 IOC 容器为每个会话提供单例的方法。显然,我可以检查 Session 是否有我之前缓存过的项目(在本例中为模型),但考虑到框架的其他细节,这似乎有点笨拙。在 ASP.NET 中托管

【问题讨论】:

    标签: nancy


    【解决方案1】:

    每个会话还是每个请求?没有办法为会话维护对象的生命周期(这很奇怪),但是您可以通过在引导程序中覆盖 ConfigureRequestContainer 并将其注册为像这样的单例来按请求完成:

    https://github.com/NancyFx/Nancy/blob/master/src/Nancy.Demo.Hosting.Aspnet/DemoBootstrapper.cs#L35

    【讨论】:

    • 为什么“每个会话”会很奇怪?也许我不理解这里的术语。我想要的是检索给定会话的项目。
    • 啊,当你谈到单身时,我以为你指的是某种服务。如果您的意思是在会话中存储东西然后只使用会话,我不确定您希望它如何工作?
    • 是的,这有点奇怪,也许我正在寻找类似的东西:container.Register.AsSessionSingleton。否则,我必须检查该项目是否存在于会话缓存中,将其更新或使用 container.Resolve 如果它不存在,等等。易于包装在一个泛型中。只是检查一下我是否遗漏了一些东西。
    • 不,没有类似的东西 - 这是一个有趣的想法,会话支持目前正在大修,但会话支持超出了容器生命周期 imo 的范围,因此我们不会添加.
    • 明白。谢谢你的帮助。真的很喜欢这个框架。
    猜你喜欢
    • 1970-01-01
    • 2021-04-09
    • 1970-01-01
    • 1970-01-01
    • 2012-08-24
    • 2018-07-29
    • 2013-03-21
    • 1970-01-01
    • 2017-06-17
    相关资源
    最近更新 更多