又一篇,讲解Wcf、Silverlight3.0与Nhibernate的集成方案

本文介绍了一种将Silverlight应用与WCF服务相结合,并使用NHibernate作为数据访问层的技术方案。该方案利用WCF提供数据源,通过NHibernate连接SqlServer2005数据库,同时详细介绍了如何配置和管理NHibernate会话,确保数据访问的高效性和安全性。

           (一)、对此篇博文还是从简单的架构入手:

                  简单的作几点说明--

                  1.Silverlight的数据访问采用Wcf提供数据源

                  2.Wcf的数据层采用NHibernate、SqlServer2005(同样适用于Oracle等其他的关系型数据库)

                  3.理解Wcf对实例上下文的管理,引用N人写IglooCommons类库对NHibernate作为WCF数据层的支持,

                     我自己对其对WcfNHibernate进行了抽取,编译为类库文件WcfNHibernate.dll

                     (后面会提供IglooCommons类库及其源码的下载)

                  附架构图:

 

(二)、简要说明结构的各个类库中的内容:

      1. Domain类库中主要是对NHibernate持久层的编写

      2. DataAccess类库文件对数据访问层的编写(这里引入了一个关键的类库WcfNHibernate.dll)

      3. WcfService服务部分(此部分是我介绍的核心部分)

          附结构图:

   3.1:需要引入WcfNHibernate.dll类库文件,并且在Global.asax文件中的Application_Start中添加NHibernateFactory.Initialize();

          代码来初始化NHibernate作为ORM对数据库的访问.

                     3.2:在AuthorService.svc.cs文件中的class类的上面添加属性引用NHibernateContext与ServiceBehavior

           (InstanceContextMode = InstanceContextMode.PerCall),注意:这里的上下文实例必须设置为单调模式

  3.3:hibernate.cfg.xml文件是对NHibernate的一些配置,注意:必要把属性"始终复制"改为"始终复制"

  3.4:ClientAccessPolicy.xml与CrossDomain.xml是Silverlight解决跨域访问Wcf

  4.解析类库文件WcfNhibernate.dll中源码的作用----

     附源代码图:

4.1:NHibernateFactory文件是对NHibernate的初始化与Session的管理类

4.2:NHibernateContextInitializer文件是对Wcf实例上下文初始化扩展对NHibernate的支持

4.3:NHibernateContextExtension文件是对Wcf支持NHibernate中Session管理的扩展

4.4:NHibernateContext文件是对Wcf操作上下文对NHibernate的Session的调用

4.5:NHibernateContextAttribute文件是Wcf属性标记的,与契约行为,NHibernate的Session的管理

5.IglooCommons类库文件的完整展示:

   附图说明:

   

 作几点简要的说明:

 5.1:提供了对AOP的支持(AOP--Aspect-Oriented Programming及面向方面编程)

 5.2:提供了日志的接入点

 5.3:提供了对事件的支持

 5.4:提供了对WcfNHibernate的支持

    (三)、NHibernate类库文件引入

           (四)、感谢各位博友,有幸自己成为一名年轻的程序员

           

                      (五)、源代码提供下载:

                     1.WcfNHibernate类库下载

                       地址:

                         WcfNHibernate.rar

                         WcfNHibernate-src.rar

                         IglooCommons.rar

                         WcfSilverlightSample.rar

          

转载于:https://www.cnblogs.com/quincyNO1/archive/2011/10/26/2225119.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值