Cie*_*iel 3 asp.net-mvc fluent-nhibernate
我一直在使用Fluent nHibernate/ASP.NET MVC构建一个应用程序 - 我已经挖掘并发现,保持"永久"SessionFactory打开是最合适的做法,然后对每个数据库请求使用会话.好的,听起来不错......
不过,我对如何实现这一点感到很困惑.我找到的所有东西都假定了一个完整的结构化框架,它使用了某种IoC容器系统......而且这对我目前所拥有的东西来说太先进了.有没有更简单的例子来说明如何实现这种设计?
我已经看过哪里可以找到一个好的NHibernate和ASP.NET MVC参考应用程序
甚至阅读"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
}
}
Run Code Online (Sandbox Code Playgroud)
现在你可以FactoryManager.Instance在你的代码中使用:
using (var session = FactoryManager.Instance.OpenSession())
using (var tx = session.BeginTransaction())
{
// TODO: use the session here
tx.Commit();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2279 次 |
| 最近记录: |