【问题标题】:How to process incoming calls asynchronously to WCF?如何异步处理 WCF 的传入调用?
【发布时间】:2020-06-25 09:42:29
【问题描述】:

我有一个 WCF 服务,该服务是从多个用户使用的 Web 应用程序(Web 应用程序)调用的。

WCF 服务处理单个请求需要一些时间(例如 30 秒)。

我注意到如果我在两个选项卡或两个浏览器窗口中打开 Web App 并让 Web App 向 WCF 服务发送两个请求,它们随后会被处理。也就是 WCF 会在第一个请求处理完之后才开始处理第二个请求。

有没有办法让 WCF 服务并行处理传入的请求?

【问题讨论】:

  • 我可以假设所有请求都来自 WebApp 服务器,因此您的服务只有一个实例。您应该修改 WCF 逻辑并实现一些 background workers/ async await 模型。或更改通信方案。

标签: c# asp.net wcf iis


【解决方案1】:

仅仅因为技术允许你做某事并不意味着它是一个好主意。

以下是您寻求帮助开发的危险工具的说明。 https://docs.microsoft.com/en-us/dotnet/framework/wcf/how-to-implement-an-asynchronous-service-operation

每个程序员都应该了解可访问的分布式流程所带来的复杂性。简而言之,它们集中了用户需求。哈佛商业评论证明 DRY 是一种不好的做法。 http://www.powersemantics.com/p.html

请自行决定。我给了你一个替代方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-10
    • 2011-09-18
    • 1970-01-01
    • 1970-01-01
    • 2013-03-10
    • 1970-01-01
    相关资源
    最近更新 更多