标签:
在WCF中,如果我们不处理异常的话,将会造成会话丢失,并阻塞通道的会话。一旦交流的通道处于失败状态,我们就访问不到先前相同的代理类了,因此我们必须要创建一个新的代理类。
1.两种协议
BasicHttpBinding:是一种没有会话状态的协议,当发生异常的时候,它就会停止服务通道。然而客户端的代理依然可以运行。因为BasicHttpBinding协议不能维持会话状态。
wsHttpBinding:是一种安全的会话,当出现错误的时候,它会阻止当前通道,并且客户端的代理也将不能运行。因为基于WSHttpBinding的通道能够保持一个安全的会话状态,当客户端在此发起请求的时候,还会去找原来维持相同会话的通道。
2.计算器实例讲解
上面这个例子是一个计算器的实例,如果是基于BasicHttpBinding协议,当被除数为0的话,会报错,然而程序依然可以运行,正如上面所说BasicHttpBinding是没有会话状态的;如果是基于wsHttpbinding的话,当程序报错后,就不能再执行。
标签:
原文地址:http://blog.csdn.net/luckyzhoustar/article/details/46343455