#region IEmployeeService Members
public void ShowInvokeNumber() { count++; Console.WriteLine("count = {0}", count); }
#endregion }
客户端 EmployeeServiceProxy proxy = new EmployeeServiceProxy("netEmployeeService"); proxy.ShowInvokeNumber(); proxy.ShowInvokeNumber(); proxy.ShowInvokeNumber();虽然我们只创建了一个代理对象,服务器端的对象会在每次调用完后进行释放,当再次调用时,会创建一个新的对象。 PerSession 简单的说它每个客户端共享一个对象,只在第一次调用时创建。 Single 是所以客户端共享一个对象。 通过我提供的演示demo,可以很清楚看到这其中的差别。注意服务器端的输出 percall输出的是 count = 1 count = 1 count = 1 persession输出的是 count = 1 count = 2 count = 3 如果我们多启动一个客户端则会有增加如下输出 count = 1 count = 2 count = 3 single输出的是 count = 1 count = 2 count = 3 增加一个客户端,输入变为 count = 4 count = 5 count = 6 还有一个 OperationBehavior应用于操作上的特性我们需要注意,它的 ReleaseInstanceMode指定了4个枚举值。默认是None,还有AfterCall,BeforeAndAfterCall,BeforeCall,如果应用了这个特性,则对象在调用这个方法时会检查OperationBehavior特性的ReleaseInstanceMode的值,它如果它指定为非none,则在调用根据设置的值来在调用前或后释放该对象。 demo下载 shore 2008-03-07 11:08 发表评论转载于:https://www.cnblogs.com/hotsoho.net/archive/2008/03/07/1206545.html