2012-01-05 18 views
0

在我的應用程序中調用WCF服務在一分鐘後拋出EndpointNotFoundException。所有超時都超過一分鐘。Windows Phone 7在一分鐘後拋出EndpointNotFoundException

var binding = new BasicHttpBinding { 
    OpenTimeout = TimeSpan.FromMinutes(3), 
    CloseTimeout = TimeSpan.FromMinutes(6), 
    ReceiveTimeout = TimeSpan.FromMinutes(2), 
    SendTimeout = TimeSpan.FromMinutes(5) 
}; 
client = new ServiceClient(binding, new EndpointAddress("http://...")); 
client.InnerChannel.OperationTimeout = TimeSpan.FromMinutes(4); 

我發現了微軟的論壇上線,但沒有解決方案。 http://social.msdn.microsoft.com/Forums/ar/windowsphone7series/thread/cba9c633-6d79-4c04-8c08-cd0b5b33d8c6

該問題僅在服務運行超過一分鐘時纔會發生。這項服務的 調用拋出EndpointNotFoundException:

public string Test() { 
    Thread.Sleep(60000); 
    return "test"; 
} 

但這項服務的調用正常工作:

public string Test() { 
    Thread.Sleep(58000); 
    return "test"; 
} 

回答

0

我從Windows Phone設備下載了.NET Framework的庫並反編譯它們。

HttpWebRequest在1分鐘內有不可更改的超時。

爲了確認,我創建了一個aspx頁面。如果我在Page_Load中放入Thread.Sleep(60000),HttpWebRequest將無法獲得響應。

0

如果問題在模擬器或設備occures它不是從問題明確。 如果發生在仿真器上,您是否有網絡訪問權限 - 即您是否可以從IE中看到外部網站。如果不檢查主機上的代理設置,因爲LAN代理將阻止仿真器通信。

+0

有訪問網絡。只有服務運行超過一分鐘纔會出現問題。 正確調用PC服務。 – 2012-01-05 09:43:07

0

什麼是服務器端超時設置?聽起來像這個問題可能在電線的另一端。

+0

是的,它被設置爲5-10分鐘。 正確調用PC服務。所以這個問題很可能在Windows Phone的某些細節上,而不是在服務方面。 – 2012-01-05 12:13:29