Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我创建了一个 SOAP 网络服务,它调用 3-4 个其他网络服务。我的服务必须在 30 秒内回复。我调用的其他 web 服务偶尔需要超过 30 秒,但它们通常会成功,我无法对它们设置超时并认为它们失败了。
我正在考虑在任何情况下发送一个成功的响应,并创建一个后台线程来调用其他 3-4 个 Web 服务。
这是多少可行的解决方案?有没有更好的方法呢?
这本质上是一个已解决的问题——但准确的答案取决于您如何构建 Web 服务。
谷歌“异步网络服务”加上你用来构建你的 SOAP 网络服务的任何框架。注意 - 这也可能需要您修改您的 Web 服务。
在 Web 应用程序中生成线程几乎总是一个糟糕的想法——代码中的一个小疏忽(例如,不能很好地处理超时)意味着您的站点在非常中等的负载下会耗尽线程,并且您的站点变得非常脆弱。使用现成的解决方案要好得多...