- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
最近,我一直在将 NHibernate 集成到我们公开多个服务的服务器应用程序中。核心服务管理一个类的多个实例,据我了解,建议使用 session-per-request 模式。到目前为止一切顺利。
其他服务之一是站点设置服务,它有效地管理单例:只有一个站点设置实例。我也可以使用此服务遵循每个请求的 session 模式,但这看起来很奇怪。我真的需要在这里为每个请求创建一个新 session 吗?为什么不为该服务创建一个 session 并继续使用它呢? session-per-request 模式的优点之一是 session 最终不会缓存模型中的所有对象。但是,由于我只会在 session 中加载一个实例,所以我认为这不应该是一个问题。使用 IStatelessSession 而不是 ISession 会更好吗?
还有其他理由在这里使用 session-per-request 吗?我想到的一个问题是在与数据库断开连接的情况下会发生什么。即使在出现数据库错误后,我能否继续使用相同的 session ?
顺便说一句,我正在考虑将每个设置存储在其自己的列中,这意味着我必须在设置更改时更新架构。我找到了这篇文章:NHibernate Web Application - Managing User Preferences ,其中一条评论反对使用表来存储此类配置设置。我很难想出替代方案(除了序列化整个类并将其存储为 blob)。有不同的方法吗?
最佳答案
session 不是线程安全的,所以我认为你的单例可能需要多个 session
Can I keep using the same session even after a DB error?
不,大概这会引发异常,并且您不应该在异常发生后重用 session 。恕我直言,您应该坚持按请求模式进行 session 。
Are there different approaches?
您可以为每个配置设置使用不同的行吗?因此,您的 User 对象将具有 UserSetting 对象的子集合。每个 UserSetting 只是一个键值对。
关于c# - 使用 NHibernate 管理单例实体的 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5308179/
我最近购买了《C 编程语言》并尝试了 Ex 1-8这是代码 #include #include #include /* * */ int main() { int nl,nt,nb;
早上好!我有一个变量“var”,可能为 0。我检查该变量是否为空,如果不是,我将该变量保存在 php session 中,然后调用另一个页面。在这个新页面中,我检查我创建的 session 是否为空,
我正在努力完成 Learn Python the Hard Way ex.25,但我无法理解某些事情。这是脚本: def break_words(stuff): """this functio
我是一名优秀的程序员,十分优秀!