的MonoTouch/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();
}
// Althought我設置OpenTimeout爲5秒,但是當我關閉服務器服務(或關閉iPhone的網絡),它仍然嘗試在後臺連接服務,直到默認的1分鐘超時,這很奇怪!爲什麼?謝謝。
btw,1分鐘後MonoTouch/iPhone拋出異常,類型爲TimeoutException(消息:操作已超時。)而不是FaultException或CommunicationException)。如果上面的代碼在windows.net客戶端中調用,它應該拋出CommunicationException。
'MyServiceClient'是否也有超時屬性? – jonathanpeppers 2012-04-10 12:07:17
對不起,不,客戶端沒有這個屬性。 – BlueSky 2012-04-10 15:07:39