Web Services-Delphi SOAP客户端不能容纳两个以上的并发请求

电脑杂谈  发布时间:2020-04-03 05:11:44  来源:网络整理

delphi中soap协议下载文件_delphi http下载文件_下载 文件 delphi

Script House收集和整理的这篇文章主要介绍了Web服务-Delphi SOAP Client不能容纳两个以上的并发请求. 如何增加呢?脚本公司的编辑认为这非常好. 现在delphi中soap协议下载文件,我将与您分享并提供参考.

我有一个多用户COM应用程序,需要在SOAP WebServices上发出多个请求. 每个SOAP请求可能需要10到60秒(这不在我的控制范围内). 问题是,我不能同时发出两个以上的请求.

例如,当我有3个并发请求时,第三个请求仅在第二个请求完成时才开始.

下载 文件 delphi_delphi http下载文件_delphi中soap协议下载文件

我在控制台应用程序上观察到了相同的行为(出于测试目的),向同一个WebService发出了多个并发请求,而我又被限制为2个请求.

当我尝试使用另一种语言(C#)使用相同的WebServices时发生了同样的事情delphi中soap协议下载文件,但是,C#客户端上有一个属性可以解决此问题:

System.Net.ServicePointManager.DefaultConnectionLimit

delphi http下载文件_delphi中soap协议下载文件_下载 文件 delphi

当我增加该属性时,我可以保留任意数量的并发请求. 在Delphi上有类似的属性吗?

我正在使用WSDL导入器工具来使用Web服务(Delphi XE2).

Delphi使用Wininet.dll发出SOAP请求,IE使用相同的DLL.

delphi http下载文件_delphi中soap协议下载文件_下载 文件 delphi

实际上是这个限制.

您有2个选项:

>按照知识库文章中的说明调整注册表

delphi中soap协议下载文件_delphi http下载文件_下载 文件 delphi

>在SOAP调用之前使用InternetSetOption:

小代码示例(请注意,它不包含错误检查):

Const 
  INTERNET_OPTION_MAX_CONNS_PER_SERVER = 73; 
  INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER = 74; 
var 
  MaxConnections : Integer;
begin 
  MaxConnections := 10; // adapt to your needs
  InternetSetOption(Nil,INTERNET_OPTION_MAX_CONNS_PER_SERVER,@MaxConnections,SizeOf(MaxConnections )); 
  InternetSetOption(Nil,INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER,SizeOf(MaxConnections )); 
 // do SOAP call
end;

以上是脚本库为您收集和组织的Web服务-Delphi SOAP Client不能容纳两个以上的并发请求. 如何增加呢?整个内容,希望本文可以帮助您解决Web服务-Delphi SOAP Client不能保留2个以上的并发请求. 如何增加?程序开发遇到的问题.

如果您认为脚本库网站的内容还不错,请向程序员朋友推荐脚本库网站.


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-162072-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...