gpt4 book ai didi

.net - 如何 : Web Service and handling Client Timeouts in the Web Service?

转载 作者:行者123 更新时间:2023-12-04 12:59:52 27 4
gpt4 key购买 nike

我正在尝试记录客户端在 Web 服务调用超时时发生的情况。

看看下面的 HelloWorld 代码。这就是我想要做的,但似乎 IsClientConnected 不起作用,因为它总是返回 true。

[WebMethod]
public string HelloWorld() {
//.. Do the Webservice stuff
if (!Context.Response.IsClientConnected) {
//Log some vital info about this call that timed out...
}
return "The WebService Result";
}

有谁知道另一种检查 Web 服务调用状态的方法吗?

当客户端与 Web 服务调用断开连接时,Web 服务中不会抛出异常。代码继续运行直到完成,然后将其结果返回为空(因为连接关闭)。

最佳答案

我相信一般不会有异常(exception)。即使服务发回一个很长的响应,例如传出传输窗口关闭,并且等待能够发送字节超时,所有这些都将在 Web 方法返回到 ASP.NET 之后发生。

您应该做的是了解哪些 Web 方法耗时过长。您可以通过打开跟踪来开始执行此操作,如“Enabling Tracing in ASP.NET Web Services”所示。然后,您可能需要更进一步,对服务进行概要分析,以了解时间花在哪里。

您还应该仔细查看事件日志。特别是,从“ASP.NET”事件源中查找警告事件。这些来自 ASP.NET Health Monitoring .我建议您了解 Health Monitoring 系统,因为您可能会发现它为您完成了许多您必须自己编写的事情,而只是以配置为代价。

关于.net - 如何 : Web Service and handling Client Timeouts in the Web Service?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1265725/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com