Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WCF中止模式-如何测量故障连接_C#_.net_Wcf - Fatal编程技术网

C# WCF中止模式-如何测量故障连接

C# WCF中止模式-如何测量故障连接,c#,.net,wcf,C#,.net,Wcf,一段时间以来,我在一个webapi项目中遇到了一些问题,这些问题可能是由挂起资源引发的。网站挂起,在内存转储中,我可以看到很多代码与一些WCF调用相关 我从codeproject中找到了一些类似这样的资源,它们说在所描述的情况下,wcf客户端应该被激活 像这样: try { ... client.Close(); } catch (CommunicationException e) { ... client.Abort(); } catch (TimeoutExc

一段时间以来,我在一个webapi项目中遇到了一些问题,这些问题可能是由挂起资源引发的。网站挂起,在内存转储中,我可以看到很多代码与一些WCF调用相关

我从codeproject中找到了一些类似这样的资源,它们说在所描述的情况下,wcf客户端应该被激活

像这样:

try
{
    ...
    client.Close();
}
catch (CommunicationException e)
{
    ...
    client.Abort();
}
catch (TimeoutException e)
{
    ...
    client.Abort();
}
catch (Exception e)
{
    ...
    client.Abort();
    throw;
}
现在有没有办法测量是否存在未成功关闭的连接?我希望看到代码更改前后的更改


有perphas性能计数器吗?

我认为没有WCF性能计数器来告诉在任何给定时间点存在多少开放客户端连接。以下是WCF公开的性能计数器的详细信息:。如果您怀疑由于打开的连接,内存被太多实例占用,您可能需要查看“实例”计数器。另外,您的问题提到您正在使用webapi项目,但您的问题似乎是关于WCF性能计数器的。您能否澄清您使用的是WCF还是ASP.net web api?我使用ASP web api作为主机,但api的一种方法需要使用给定的第三方WCF服务-ICommunicationObject工作流的明确解释,包括Abort()。具体地说,它声明调用Abort可能导致异常。