SOAP 请求正在阻止其他 SOAP 请求
SOAP requests are blocking other SOAP requests
我有一个 WordPress 网络应用程序,它通过 SOAP 与 WCF 服务通信。
假设我访问了一个长 运行 SOAP 请求。在另一个选项卡中,我访问了另一个 SOAP 请求,但这个请求很短 运行。短请求似乎被长 运行 请求阻止。
在进行 SOAP 请求时,我会为每个请求创建一个新的客户端。我不知道 WCF 服务配置的细节,但我确信它能够处理并发请求。这是因为当 运行 另一个 Web 应用实例 时,其他短请求无需等待 Web 应用第一个实例中的长 运行 完成。
我研究过使用某种异步 SOAP 客户端,但没有找到适合我的东西。由于我发现这方面的信息很少,我想我可能是做错事的人。
为什么 运行 个请求会阻止其他请求?
这与 WCF 无关。您的 PHP 会话文件已被锁定,因此每个浏览器只能有一个并发请求。
基本上有两种解决方案:
在 Web 服务器的后台线程或后台进程中启动 WCF 调用。这样处理浏览器请求的 PHP 脚本可以立即 return。
更改 WCF 服务,使其不再立即执行,而是接受 "Start Working" 调用,您可以轮询执行结果。
我有一个 WordPress 网络应用程序,它通过 SOAP 与 WCF 服务通信。
假设我访问了一个长 运行 SOAP 请求。在另一个选项卡中,我访问了另一个 SOAP 请求,但这个请求很短 运行。短请求似乎被长 运行 请求阻止。
在进行 SOAP 请求时,我会为每个请求创建一个新的客户端。我不知道 WCF 服务配置的细节,但我确信它能够处理并发请求。这是因为当 运行 另一个 Web 应用实例 时,其他短请求无需等待 Web 应用第一个实例中的长 运行 完成。
我研究过使用某种异步 SOAP 客户端,但没有找到适合我的东西。由于我发现这方面的信息很少,我想我可能是做错事的人。
为什么 运行 个请求会阻止其他请求?
这与 WCF 无关。您的 PHP 会话文件已被锁定,因此每个浏览器只能有一个并发请求。
基本上有两种解决方案:
在 Web 服务器的后台线程或后台进程中启动 WCF 调用。这样处理浏览器请求的 PHP 脚本可以立即 return。
更改 WCF 服务,使其不再立即执行,而是接受 "Start Working" 调用,您可以轮询执行结果。