单点触控/WCF:为什么无法替代 WCF 绑定超时设置



Monotouch/WCF:为什么无法覆盖WCF绑定默认超时设置:

public class MyServiceClient : ClientBase<IMyContract>,IMyContract
{ ... }
public void test() {
        BasicHttpBinding basicHttpBinding = new BasicHttpBinding();
        basicHttpBinding.Name = "basicHttpBinding";
        basicHttpBinding.MaxBufferSize = int.MaxValue;
        basicHttpBinding.MaxReceivedMessageSize = int.MaxValue;
        basicHttpBinding.ReceiveTimeout = TimeSpan.FromSeconds(10.0);
        basicHttpBinding.SendTimeout = TimeSpan.FromSeconds(10.0);
        basicHttpBinding.CloseTimeout = TimeSpan.FromSeconds(5.0);
        basicHttpBinding.OpenTimeout = TimeSpan.FromSeconds(5.0);
       MyServiceClient client = New MyServiceClient(basicHttpBinding, new EndPointAddress(...));
       client.Test();
     }

虽然我把 OpenTimeout 设置为 5 秒,但是当我关闭服务器服务(或关闭 iPhone 的 wifi 和网络)时,它仍然尝试在后台连接到该服务,直到默认的 1 分钟超时,这很奇怪!为什么?谢谢。

顺便说一句,单点触控/iPhone中的异常在1分钟后抛出,类型是超时异常(消息:操作已超时,而不是故障异常或通信异常)。如果上面的代码在Windows .net客户端中调用,它应该抛出CommunicationException。

> xamarin team reply: serviceClient.innerchannel.operationtimeout = ...谢谢。

相关内容

  • 没有找到相关文章

最新更新