【发布时间】:2016-07-18 14:30:58
【问题描述】:
虽然 PerRequestLifetimeManager 生命周期管理器可以正常工作,并且可以帮助处理 HTTP 请求范围内的 有状态 或线程不安全的依赖项,但在可能的情况下使用它通常不是一个好主意应避免,因为如果使用不当,通常会导致不良做法或难以在最终用户的应用程序代码中发现错误。建议您注册的依赖项是无状态的,如果在 HTTP 请求的生命周期内需要在多个对象之间共享公共状态,那么您可以拥有一个无状态服务,使用 Items 集合显式存储和检索此状态当前对象。
警告指的是哪种错误或不良做法?怎么会不正确地使用它? - 不幸的是,警告不是很具体,因此很难应用于现实世界。此外,我不清楚在这种情况下有状态意味着什么。
恕我直言,使用 PerRequestLifetimeManager 的典型场景是某种数据库连接(例如 DbContext)或类似的。
【问题讨论】:
标签: c# asp.net asp.net-mvc entity-framework unity-container