Windows Phone 7在一分钟后抛出EndpointNotFoundException



在我的应用程序中调用WCF服务会在一分钟后抛出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";
}

问题不清楚问题是否发生在模拟器或设备上。如果它发生在模拟器上,你有网络访问权限吗?也就是说,你能从IE看到外部站点吗?如果没有,请检查主机上的代理设置,因为LAN代理将阻止模拟器通信。

服务器端超时设置为什么?听起来问题可能就在电线的另一端。

我从Windows Phone设备下载了.NET Framework的库,并对它们进行了反编译。

HttpWebRequest在1分钟内具有不可更改的超时。

为了确认,我创建了一个aspx页面。如果我在Page_Load中放入Thread.Sleep(60000),HttpWebRequest将无法获得响应。

相关内容

  • 没有找到相关文章