• WCF 异常与处理


    WCF异常与实例管理
    当服务实例出现异常时,WCF并不会关闭宿主进程,但错误可能会影响服务实例,同时还会影响到客户端继续使用代理(实际上是通道)访问服务的能力。准确的说,异常对于客户端与服务实例的影响与实例模式有关。

    单调服务与异常
    如果调用引发异常,那么紧跟在异常之后,服务实例会被释放,代理将在客户端抛出FaultException异常。在默认的情况下,所有服务抛出的异常(包括FaultException的派生类)会使通道发生错误。即使客户端捕获了异常,它也不能发出随后的调用,因为它们会引发一个CommunicationObjectFaultedException异常。此时,客户端只能关闭代理

    会话服务与异常
    无论使用何种WCF会话绑定,在默认情况下,所有异常(包括FaultException的派生类)都会终止会话。WCF将会释放实例,而客户端则获得一个FaultException的异常。即使客户端捕获了异常,也不能继续使用代理。客户端唯一可以安全执行的就是关闭代理,因为一旦参与会话的服务实例遇到了错误,会话就不能再使用了。

    单例服务与异常
    当我们调用单例服务时,如果遇到异常,单例实例不会终止,而是继续运行。在默认情况下,所有异常(包括FaultException的派生类)都会导致通道发生错误,客户端无法发出随后的调用,只能关闭代理。如果客户端包含了一个单例实例的会话,那么会话会终止。

  • 相关阅读:
    WPF资源字典使用
    忍住你的痛苦
    WPF附加属性
    一致性Hash算法详解
    登录注册
    REST
    资源访问
    参与Bean的生命周期
    sqlserver中查询横表变竖表的sql语句简析
    C#跨线程修改控件——从MSIL和汇编看Invoke, 多线程, 事件与事件委托
  • 原文地址:https://www.cnblogs.com/chenzhou851025/p/1346180.html
Copyright © 2020-2023  润新知