Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.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是否代理客户群<;T>;.NET4.5+;_C#_.net_Wcf_Proxy_Dispose - Fatal编程技术网

C#WCF是否代理客户群<;T>;.NET4.5+;

C#WCF是否代理客户群<;T>;.NET4.5+;,c#,.net,wcf,proxy,dispose,C#,.net,Wcf,Proxy,Dispose,在早期版本的C#.Net中,在处理WCF代理(服务引用生成的客户端)时存在一个问题-这在.Net 4.5+中仍然存在吗 有关此问题的详细信息,请参见此处。。。 …但总而言之,本质上是服务引用生成的代理上的IDisposable实现,无条件地调用Close(),而无需首先检查状态。如果从被调用的服务中抛出未处理的异常,这将导致通道故障,然后对代理执行任何操作(包括尝试调用Dispose())都将导致次要通信异常-混淆原始异常,并使代理处于不可用状态。考虑到这一点,尽管代理实现了IDisposabl

在早期版本的C#.Net中,在处理WCF代理(服务引用生成的客户端)时存在一个问题-这在.Net 4.5+中仍然存在吗

有关此问题的详细信息,请参见此处。。。 …但总而言之,本质上是服务引用生成的代理上的IDisposable实现,无条件地调用Close(),而无需首先检查状态。如果从被调用的服务中抛出未处理的异常,这将导致通道故障,然后对代理执行任何操作(包括尝试调用Dispose())都将导致次要通信异常-混淆原始异常,并使代理处于不可用状态。考虑到这一点,尽管代理实现了IDisposable,并且在很大程度上被认为是一个WCF错误,但我们无法将代理真正包装到using{}构造中

处理这个问题有几种模式,我不打算在这里介绍它们。我需要知道的是,由于它在很大程度上被认为是一个WCF错误,它已经被修复了吗?我在互联网上找不到任何东西表明IDisposable有缺陷的实现不再有缺陷

更新:我刚找到这个。。。
…这表明这仍然是一个问题。真不敢相信它还没修好。这个问题自WCF首次出现以来就一直存在。在这些代理上实现IDisposable有什么意义???

更新:我刚刚发现。。。这表明这仍然是一个问题