来自多个客户端的webservice的调用是并行执行还是逐个执行(即第一次调用完成后才会考虑第二次调用)?
提前感谢。
答案 0 :(得分:1)
对Web服务的调用本质上是对服务器上的网页的调用。服务器通常维护一个线程池,从中检索线程以服务传入的调用。因此,如果许多计算机同时调用相同的Web服务方法,只要线程池中有可用的线程,它们就会并行执行。如果所有线程都已忙,则方法调用将开始被置于保持状态(并且服务器甚至可能会报告它太忙而无法处理请求)。但是5台电脑不应该造成问题。
答案 1 :(得分:0)
Web服务可以响应请求。因此,您需要做的是具有一个功能,所有5台计算机都会调用以从每台计算机提交所需的数据。然后,创建一个每台计算机调用的函数,以检查响应是否准备就绪。收集每台计算机的数据后,Web服务将使用正确的数据进行响应。
Web服务响应必须由客户端启动,而不是服务器。
例如,
SubmitData(data)
返回bool - >每台计算机都提交数据,如果成功则返回。服务器将响应存储在DB中。GetResponse()
返回数据或FALSE - >服务器检查是否所有5台计算机都已响应。如果没有,返回FALSE。如果为true,则处理并返回数据。答案 2 :(得分:0)
几乎所有的Web服务框架都支持同步性。 如果您使用的是C#,那么您可以从以下文章获益:
http://www.codeguru.com/csharp/csharp/cs_webservices/security/article.php/c9179