c# - 如果没有响应,如何取消 Web 服务调用

标签 c# asp.net web-services

我有一个网页 (.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/

相关文章:

asp.net - wcf:将用户名添加到消息 header 安全吗?

web-services - 我可以从 Salesforce 发布不需要身份验证的 Web 服务吗?

java - 类应用监听配置错误

c# - 在没有 DI 的情况下登录 .NET Core?

c# - PagedList 在第二页上丢失搜索过滤器

asp.net - Insert 方法触发后,如何防止 FormView 清除用户输入的值?

web-services - Web 服务和 Web 套接字之间的区别

c# - 如何在 Windows 窗体应用程序中使用此 WndProc?

c# - Automapper:序列不包含任何元素。

c# - C#中的一种调用方式