Tag: 同时调用

Web服务不使用代理类处理来自同一应用程序的多个同时请求

我有一个应用程序调度多个任务,调用不同的Web服务,一些相同的Web服务,但不同的方法。 每个任务都在一个时间间隔内执行,每个任务都在自己的线程中运行。 为了获得对webservice的引用,我有一个wsdl.exe生成的代理类,它在每个任务中实例化并且总是被处理掉。 但是,在运行应用程序时,任务实际上是在服务请求中等待彼此,Web服务在从任务x完成处理请求之前没有处理来自任务y的服务请求(我可以看到这是因为来自任务x的服务调用可能需要5分钟,任务y 100毫秒,但是如果y在x运行时开始,则在x完成后100毫秒完成)。 这是来自任务的代码(在自己的线程内运行): public class TaskX : TaskWrapper { public TaskX(Guid id, string name, EventQueue eventqueue) : base(id, name, eventqueue) { } protected override void DoTask() { try { var factory = new ServiceReferenceFactory(); using (var reference = factory.GetServiceReference()) { bool result; bool isSpecified; reference.Run(out result, out isSpecified); } } } } […]