asp.net-mvc – ‘永久’SessionFactory,ASP.NET MVC和nHibernat
发布时间:2020-12-16 09:21:16 所属栏目:asp.Net 来源:网络整理
导读:我一直在使用Fluent nHibernate / ASP.NET MVC构建一个应用程序 – 我已经挖掘并发现,保持“永久”SessionFactory打开是最合适的做法,然后对每个数据库请求使用会话.好的,听起来不错…… 不过,我对如何实现这一点感到很困惑.我找到的所有东西都假定了一个完
我一直在使用Fluent nHibernate / ASP.NET MVC构建一个应用程序 – 我已经挖掘并发现,保持“永久”SessionFactory打开是最合适的做法,然后对每个数据库请求使用会话.好的,听起来不错……
不过,我对如何实现这一点感到很困惑.我找到的所有东西都假定了一个完整的结构化框架,它使用了某种IoC容器系统……而且这对我目前所拥有的东西来说太先进了.有没有更简单的例子来说明如何实现这种设计? 我看过Where can I find a good NHibernate and ASP.NET MVC Reference Application 甚至阅读“ASP.NET MVC in Action”这本书,但它的例子远比我想要实现的要复杂得多.我认为单例模型可以在’global.asax’的Application_Start中工作,但这并没有产生我希望的结果.它将继续处理我的工厂,永远不会重新创建它. 解决方法
您可以将ISessionFactory公开为单例:
public sealed class FactoryManager { private static readonly ISessionFactory _instance = CreateSessionFactory(); static FactoryManager() { } public static ISessionFactory Instance { get { return _instance; } } private static ISessionFactory CreateSessionFactory() { // TODO: configure fluentnhibernate and create a session factory } } 现在您可以在代码中使用FactoryManager.Instance: using (var session = FactoryManager.Instance.OpenSession()) using (var tx = session.BeginTransaction()) { // TODO: use the session here tx.Commit(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 通过控件循环
- wcf – ASP.NET MVC中的OpenId身份验证是一项宁静的服务吗?
- asp.net-mvc-4 – ASP.NET MVC 4 ScriptBundle返回空
- asp.net-mvc – ASP.NET MVC单向路由
- Asp.NET DropDownList在PostBack之后重置SelectedIndex
- asp.net-core – 如何将IHttpContextAccessor注入到Autofac
- 根据ASP.NET中的角色设置auth cookie超时长度
- 回发后用F5写的asp.net问题,因为它做了应有的事情
- 为ASP.NET/ASP.NET MVC配置IIS(Windows 7)3
- asp.net-mvc-5 – 在禁用的TextBoxFor中只读是什么?