WCF PreCal模式基本代码示例解析

开发 开发工具
WCF PreCal模式的应用,会每次都调用创建一个服务实例,在实际应用中作用非常大。下面我们就来一起看看它的相关应用技巧。

WCF实例上下文模式中,PreCal模式是一个比较重要的模式。我们在这篇文章中将会针对WCF PreCal模式的相关概念及应用技巧做一个详细的阐述,希望朋友们能从中获得一些帮助。

在WCF PreCal模式下,即便使用同一个代理对象,也会为每次调用创建一个服务实例。调用结束后,服务实例被立即释放(非垃圾回收)。对于不支持 Session 的 Binding,如 BasicHttpBinding,其缺省行为就是 PreCall。

[ServiceContract]  
public interface IMyService  
{  
[OperationContract]  
void Test();  
}  
[ServiceBehavior(InstanceContextModeInstanceContextMode = 
InstanceContextMode.PerCall)]  
public class MyServie : IMyService, IDisposable   {   public MyServie()   {   Console.WriteLine("Constructor:{0}", this.GetHashCode());   }   [OperationBehavior]   public void Test()   {   Console.WriteLine("Test:{0}", OperationContext.Current.SessionId);   }   public void Dispose()   {   Console.WriteLine("Dispose");   }   }   public class WcfTest   {   public static void Test()   {   AppDomain.CreateDomain("Server").DoCallBack(delegate   {   ServiceHost host = new ServiceHost(typeof(MyServie), 
new Uri("http://localhost:8080/MyService"));  
host.AddServiceEndpoint(typeof(IMyService), new WSHttpBinding(), "");   host.Open();   });   //-----------------------   IMyService channel = ChannelFactory<IMyService>.
CreateChannel(new WSHttpBinding(),  
new EndpointAddress("http://localhost:8080/MyService"));   using (channel as IDisposable)   {   channel.Test();   channel.Test();   }   }  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.

输出:

Constructor:30136159  
Test:urn:uuid:df549447-52ba-4c54-9432-31a7a533d9b4  
Dispose  
Constructor:41153804  
Test:urn:uuid:df549447-52ba-4c54-9432-31a7a533d9b4  
Dispose 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

以上就是我们为大家介绍的WCF PreCal模式的相关介绍。

【编辑推荐】

  1. WCF使用Nhibernate具体操作步骤图解
  2. WCF枚举实现技巧总结
  3. WCF异常处理各种方式详解
  4. WCF方法重载相关实现技巧分享
  5. WCF跨域访问相关问题解决方案
责任编辑:曹凯 来源: 博客园
相关推荐

2010-02-22 15:06:31

WCF信道监听器

2010-03-02 16:09:53

WCF框架

2010-02-25 13:18:36

WCF单向协定

2010-02-25 15:49:05

WCF消息模式

2010-03-02 14:41:00

WCF行为控制

2010-02-23 15:58:57

WCF Session

2010-02-05 10:23:09

C++基本函数

2010-03-02 17:43:31

WCF框架处理流程

2011-08-12 14:39:00

iPhoneSDK

2010-01-25 10:15:47

Android系统架构

2009-12-07 15:41:51

PHP图片加水印

2010-02-26 14:19:03

WCF用户验证

2010-02-23 10:51:32

WCF Address

2009-12-21 10:27:52

WCF基本概念

2010-02-23 16:32:29

WCF服务

2009-12-18 16:00:29

Ruby获取当前类名

2009-12-07 10:16:22

WCF基本技术

2010-03-01 18:04:35

WCF配置绑定

2009-12-21 15:33:07

WCF集合元素

2010-03-01 14:50:30

WCF行为类型
点赞
收藏

51CTO技术栈公众号