【问题标题】:WCF: Service calling service in same assemblyWCF:同一程序集中的服务调用服务
【发布时间】:2010-09-16 13:40:26
【问题描述】:

我有一个 WCF 服务(托管在 IIS 6 中),它有两个服务,FileMonitorService 和 JobService。在 FileMonitorService 的一种方法中,我想通过 WCF 调用 JobService 中的方法。 JobService 中的这个方法是异步执行的(即发即弃)。

我想使用线程池并在它们都完成后发出信号会很容易。不过我宁愿使用 WCF(这是一个个人项目,所以我只是在尝试新事物)。

编辑: 我遇到了这两个帖子,但它们涉及跨不同服务器的 WCF 服务。
Calling a WCF service from another WCF service
calling a WCF service object method in another WCF service

编辑2:澄清问题:

我认为与其说是一个问题,不如说是一个关于该方法的想法的请求。

【问题讨论】:

  • 有不想直接异步调用方法的原因吗?
  • 抱歉,不清楚。我只是在征求对这种方法的想法。我可以直接调用该方法,我想我可以利用 WCF 的线程。从概念上讲,我想要做的是启动一个服务(从服务内部),它是“启动并忘记”。在我写这篇文章时,我想到一个更合适的解决方案可能是触发 WF 进程,因为实际上,这就是我正在做的......

标签: .net wcf


【解决方案1】:

通过 WCF 执行此操作只会增加开销,因此您应该直接调用 JobServices 中的方法,除非您有令人信服的理由不这样做。 鉴于上下文数量有限,如果我是你,我会坚持使用 ThreadPool。

【讨论】:

  • 我同意我的看法。正如我在上面的评论中提到的,我意识到最初的 WCF 服务基本上所做的不是服务,而是启动工作流。所以我认为 WF 在这种情况下可能是最好的解决方案。
  • 不,按照你的建议 Alfred 和 JobServices 直接使用 ThreadPool。
猜你喜欢
  • 2017-04-09
  • 1970-01-01
  • 1970-01-01
  • 2011-01-31
  • 1970-01-01
  • 1970-01-01
  • 2013-09-30
  • 1970-01-01
  • 2018-12-17
相关资源
最近更新 更多