这是我的情景: 我在IIS中托管了一个wcf服务。 wcf服务由两个主要类组成:MyWcf和MyClass。 MyWcf由所有服务端点组成:
<ServiceContract(SessionMode:=SessionMode.Allowed)> Public Interface IMyWcf
<OperationContract()> Function GetListing As DataTable
End Interface
<ServiceBehavior(InstanceContextMode:=InstanceContextMode.PerSession, ConcurrencyMode:=ConcurrencyMode.Multiple)> Public Class MyWcf
Implements IMyWcf
Public Function GetListing As DataTable Implements IMyWcf.GetListing
Return MyClass.GetSomeDataTable
End Function
End Class
MyClass包含所有共享成员
Friend Class MyClass
Friend Shared Function GetSomeDataTable As DataTable
'some code
End Function
End Class
我想确定的是:使用此设置,如果两个客户端同时调用GetListing函数,它们都使用GetSomeDataTable函数的相同实例(因为函数是共享的)或者同时执行这两个操作客户端最终获得GetSomeDataTable函数的不同/唯一实例(以及MyClass中的所有其他共享成员)
提前致谢
答案 0 :(得分:0)
Techniques For Developing WCF Apps
Windows Communication Foundation可以维护私人会话 客户端和特定服务实例之间的关系。当客户端 为配置为会话感知的服务创建新代理 客户端获取一个独立于的新专用服务实例 所有其他同一服务的实例。