Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.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
如果我不关闭WCF/ASMX代理,情况有多糟?_Wcf_Wcf Proxy - Fatal编程技术网

如果我不关闭WCF/ASMX代理,情况有多糟?

如果我不关闭WCF/ASMX代理,情况有多糟?,wcf,wcf-proxy,Wcf,Wcf Proxy,所以有人确定是我没有意识到在使用WCF代理后需要关闭它们 这有多糟?它会导致什么样的问题 是否只是因为垃圾收集而延迟关闭资源?还是我真的应该担心应用程序池过早回收之类的事情 事实上,在这个问题上,我的ASMX比WCF代理多得多——所以同样的问题也适用于ASMX 很明显,现在我知道了这一点,我将逐步修复它,但希望您能了解它到底有多糟糕?您可以安全地重新使用WCF连接,只需额外注意检查它是否处于故障状态。您可以安全地重新使用WCF连接,只是需要额外注意检查它是否处于故障状态。作为一般指南,当您希望逐

所以有人确定是我没有意识到在使用WCF代理后需要关闭它们

这有多糟?它会导致什么样的问题

是否只是因为垃圾收集而延迟关闭资源?还是我真的应该担心应用程序池过早回收之类的事情

事实上,在这个问题上,我的ASMX比WCF代理多得多——所以同样的问题也适用于ASMX


很明显,现在我知道了这一点,我将逐步修复它,但希望您能了解它到底有多糟糕?

您可以安全地重新使用WCF连接,只需额外注意检查它是否处于故障状态。

您可以安全地重新使用WCF连接,只是需要额外注意检查它是否处于故障状态。

作为一般指南,当您希望逐步解决此问题时,不要用using语句包装您的代理,我见过很多人这样做,我一直在这样做,直到我读到一篇文章,这样做可能会导致Dispose抛出异常并掩盖真正的异常,在try/catch中显式关闭代理,如果关闭导致异常,请使用Abort进行资源清理


编辑:正如下面的评论所指出的,这适用于WCF代理。

作为一般指南,当您希望逐步解决此问题时,不要用using语句包装您的代理,我见过很多人这样做,在读到一篇文章之前,我一直在这样做,因为这样做可能会导致Dispose抛出异常并屏蔽真正的异常,在try/catch中显式关闭代理,如果close导致异常,请使用Abort进行资源清理


编辑:如下面的注释所述,这适用于WCF代理。

WCF服务具有默认超时。如果您不关闭它,服务将等待直到超时

WCF还有一个最大并发调用数,默认值为10

因此,如果您不关闭连接,则每分钟只能有10个呼叫。假设为默认设置

以下是有类似问题的人:


WCF服务具有默认超时。如果您不关闭它,服务将等待直到超时

WCF还有一个最大并发调用数,默认值为10

因此,如果您不关闭连接,则每分钟只能有10个呼叫。假设为默认设置

以下是有类似问题的人:


我甚至不是指重用——只是创建、使用和放弃——在大多数情况下,每次访问一个特定的网页我甚至不是指重用——只是创建,使用和放弃-在大多数情况下,每次访问特定网页时,这仅适用于WCF代理。@john-您的意思是可以使用using语句包装ASMX代理?这仅适用于WCF代理。@john-您的意思是可以使用using语句包装ASMX代理?您知道ASMX服务是否也可以使用using语句包装ASMX代理吗。幸运的是,我在我的WCF生命周期的早期就发现了这一点,并且能够纠正它。它的大部分ASMX目前都有这个功能issue@simon该设置是一个WCF配置设置,因此我认为它不适用于ASMX。您知道ASMX服务是否也是如此吗。幸运的是,我在我的WCF生命周期的早期就发现了这一点,并且能够纠正它。它的大部分ASMX目前都有这个功能issue@simon该设置是WCF配置设置,因此我认为它不适用于ASMX。