我有一个网页 (.aspx),它调用第三方网络服务来获取一些数据。通常需要几秒钟才能获得响应,然后页面的其余部分将加载。有时,由于 Web 服务关闭或互联网连接等原因,调用会卡住,页面只是卡在那里,不会加载。
我的问题是:
1) 有没有办法在设定的时间后中止/取消 Web 服务调用?
2) 是否有可能在调用之前验证网络服务的状态?
谢谢。
最佳答案
这个问题将为您指明正确的方向。它讨论了如何为 web 服务设置默认超时,因此如果超时时间过长,它会自动取消。
timeout for asynchronous web service call in C#
验证服务状态的唯一方法是调用它。您可以通过收到的回复判断它是否下降。 (500 404 等)。
这是两者之间的区别以及微软推荐的。
http://msdn.microsoft.com/en-us/library/ms998562.aspx#scalenetchapt10_topic14
关于c# - 如果没有响应,如何取消 Web 服务调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2602804/