WCF学习--WCF服务实例模式
学习WCF的目的在于使用WCF建立服务,使Sivlerlight程序能够查询和修改Oracle数据的内容,数据库的操作不可避免要涉及数据库事务(Transaction),而基于数据库事务的操作则要求对于某特定客户端程序,开始事务(Transaction Begin)后,事务对象保持不变,才能保证Commit或Rollback操作的成功,为此,查询了相关资料,好像可以通过WCF的服务实例(Service Instance)来控制。
一、基本介绍
尝试了新建一个基本的WCF实例后,开始学习WCF的服务实例,服务实例主要控制WCF客户端与服务端交互时服务端的行为,有三类实例模式:
1:单调服务(Per-Call Service):每次的客户端请求分配一个新的服务实例。
2:会话服务(Sessionful Service):则为每次客户端连接分配一个服务实例
3:单例服务(Singleton Service):所有的客户端会为所有的连接和激活对象共享一个相同的服务实例。类似于Net Remoting的SingleTon模式
二、示例代码
通过一个例子来说明几种服务的区别:
1.契约(CONTRACT)
包括三个函数:SetValue、GetValue、GetSid
2:percall模式
需要在Service1的类声明前加上一句声明,加完后如下:
3.Single模式
需要在Service1的类声明前加上一句声明,加完后如下: