我关注的是定义为 OneWay 的服务,因为它运行时间很长(几分钟),我等不及它完成时(它在 ASP.NET 应用程序中使用)。
问题是,如果我在服务调用后调用 client.Dispose() ,它会阻塞并且在 60 秒后超时过期并出现异常。
在这种情况下我应该如何处置客户?增加服务的超时不是解决方案,因为我不能等待使用它的网页的 HTTP 请求这么长时间。
[ServiceContract]
public interface IMyService
{
[OperationContract(IsOneWay = true)]
void BeginRun();
}
var client = new MyServiceClient();
client.BeginRun();
client.Close(); //This leads to time-out, how and when to call it?
感谢您的提示。