zoukankan      html  css  js  c++  java
  • 转 WCF中同步和异步通讯总结

    我这样分个类: WCF中, 以同步、异步角度考虑通讯的方式分为四种:跨进程同步、跨进程异步、发送队列端同步、发送队列端异步。之所以造成这样的结果源于两个因素,一个是传统概念上的同异步,一个是对于WCF方法自定义属性OperationContract中IsOneWay是True还是False的选择。
        记住下面的结论:
        1:IsOneWay配置为False

        当一个WCF服务方法IsOneWay配置为False时,当你用同步方法调用它时,他就是“跨进程同步”的,你的当前线程最终会被设置为等待,直到对方执行完毕或者抛出异常,将执行完的信息返回调用端后,你的当前线程才能被恢复,从而继续执行,对应的异步方法是与他的同步方法对应的,这不用多说。

        2:IsOneWay配置为True

        当一个WCF服务方法IsOneWay配置为True时(注意:只能设置在没有返回值的方法上),当你用同步方法调用它时,它就是“发送队列端同步”的,你的当前线程同样最终会被设置为等待,但只要能在一定的时间内和对方正确连接上,并将方法参数无误的发过去,你的当前线程便会恢复执行,而不需等待对方任何执行结果(什么结果?执行完毕或者异常信息),同样,“发送队列端异步”也是与之对应的,这也不用多说。”
        例子代码我实在没时间写了,希望对此感兴趣的自己去建个例子,自己试验试验。WCF虽然上手容易,不过涉及的东西其实很多,在实际开发的时候你会时不时遇到各种“意想不到”的意外,所以平时就关注一些细节问题显得很重要。

    ps:现在不知道这个等待是可以等待多久来返回值,期间是否一直需要连接?

  • 相关阅读:
    Java中4大基本加密算法解析
    MyEclipse/Eclipse导入sun.misc.BASE64Encoder jar包步骤
    解决报错:import sun.misc.BASE64Decoder无法找到
    [总结]FFMPEG视音频编解码零基础学习方法
    jPlayer插件的使用
    WEB视频播放器插件,总结
    使用Spring和JQuery实现视频文件的上传和播放
    如何使用java代码进行视频格式的转换(FLV)
    10.Spring集成一
    Spring的初始化:org.springframework.web.context.ContextLoaderListener
  • 原文地址:https://www.cnblogs.com/fej121/p/3527679.html
Copyright © 2011-2022 走看看