C#WCF是否代理客户群<;T>;.NET4.5+;
在早期版本的C#.Net中,在处理WCF代理(服务引用生成的客户端)时存在一个问题-这在.Net 4.5+中仍然存在吗 有关此问题的详细信息,请参见此处。。。 …但总而言之,本质上是服务引用生成的代理上的IDisposable实现,无条件地调用Close(),而无需首先检查状态。如果从被调用的服务中抛出未处理的异常,这将导致通道故障,然后对代理执行任何操作(包括尝试调用Dispose())都将导致次要通信异常-混淆原始异常,并使代理处于不可用状态。考虑到这一点,尽管代理实现了IDisposable,并且在很大程度上被认为是一个WCF错误,但我们无法将代理真正包装到using{}构造中 处理这个问题有几种模式,我不打算在这里介绍它们。我需要知道的是,由于它在很大程度上被认为是一个WCF错误,它已经被修复了吗?我在互联网上找不到任何东西表明IDisposable有缺陷的实现不再有缺陷 更新:我刚找到这个。。。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
…这表明这仍然是一个问题。真不敢相信它还没修好。这个问题自WCF首次出现以来就一直存在。在这些代理上实现IDisposable有什么意义???更新:我刚刚发现。。。这表明这仍然是一个问题