[ServiceContract]
public interface Service
{
[OperationContract(IsOneWay = true)]
void ServiceMethod();
}
我用 设置服务器的代码IsOneWay = true
,因为客户端不关心服务器的结果,并且在某些情况下服务器的方法可能需要运行很长时间(例如30分钟)。
但我发现客户端仍在等待服务器的方法完成。服务器在 30 分钟内完成后,客户端再次请求,报告CommunicationException
:
“套接字连接已中止。这可能是由于处理您的消息时出错或远程主机超出接收超时,或底层网络资源问题。本地套接字超时为 '00:01:00'”。
我认为客户端仍然等待结果(默认receiveTimeOut
为 10 分钟),然后导致超时。我使用 WCF 3.0。
你能帮助我吗?谢谢!