首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WCF - AsyncPattern=true或IsOneWay=true

WCF - AsyncPattern=true或IsOneWay=true
EN

Stack Overflow用户
提问于 2010-02-01 10:39:41
回答 2查看 3.7K关注 0票数 2

在我的WCF服务中,很少有方法是花费大量的时间生成报告和发送电子邮件。

根据当前的需求,客户端应用程序只需提交请求,就不需要等待整个过程的完成。它将允许用户继续在客户端应用程序中执行其他操作,而不是等待整个过程完成。

我不知道该走哪条路:

代码语言:javascript
复制
AsyncPattern = true OR  
IsOneWay=true 

请指点。

EN

回答 2

Stack Overflow用户

发布于 2010-02-01 10:57:28

两者都可以。

通常,我认为的WCF操作没有任何理由--不是异步的,而是开发人员懒惰的。

你不应该比较它们,因为它们是不可比较的。

简而言之,AsyncPattern=True执行异步调用,不管您是否返回一个值。

OneWay只适用于void方法,并在线程上放置一个锁,等待接收方对接收到的消息进行加密。

票数 3
EN

Stack Overflow用户

发布于 2011-11-27 08:15:49

我知道这是一篇老文章,但在您的场景中,您应该使用IsOneWay,因为您不关心服务器的结果是什么。根据最终是否需要通知客户端(例如,服务器作业的完成或失败),您可能还需要考虑更改接口以使用SessionMode=required,然后使用双工绑定。

即使您确实希望使用异步双向通信,因为您的客户确实关心结果,但有不同的概念:

服务器上的

  • AsyncPattern=true -为了释放服务器资源,您可以这样做,例如,如果底层资源(?SSRS for reporting,Mail等)支持异步操作的话。但是这将有利于服务器,而不是客户端。客户端上的
  • ,总是可以生成带有“Generate异步操作”的服务引用代理--在这种情况下,客户端不会阻塞,并且在操作完成后将使用回调。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2176018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档