【问题标题】:Client side Asynchronous WCF Vs Server side Asynchronous WCF客户端异步 WCF 与服务器端异步 WCF
【发布时间】:2012-09-17 09:46:46
【问题描述】:

在性能和线程复杂性方面两者哪个更好:“服务器端异步 WCF”或“客户端异步 WCF”??

【问题讨论】:

    标签: c# .net wcf asynchronous


    【解决方案1】:

    两者同等重要:

    • 如果您在服务器上同步执行操作,那么您正在阻塞服务器
    • 如果您在客户端上进行同步调用,那么您就是在阻塞客户端

    所以理想情况下,所有 I/O 密集型任务都应该是异步的。

    【讨论】:

      【解决方案2】:

      可以更好地告知客户端或服务器端异步调用的唯一方法是它们是如何实现的。糟糕的设计和工作流程会给系统性能带来灾难性的后果。

      客户端或服务器端异步调用的决定应基于谁发出调用。确定异步函数调用的经验法则是始终避免服务器端编程。服务器将服务于多个客户端,因此需要尽可能多的处理器和内存空间。客户端将自行运行,不应过于依赖服务器。很可能客户端的请求可以由服务器在流程管道中处理,因此在处理其流程之前,客户端应该能够自行进行。因此,强烈建议对服务器进行客户端异步调用。

      【讨论】:

        猜你喜欢
        • 2012-10-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多