3

我正在考虑将共享(读取静态)WCF 代理客户端用于高吞吐量应用程序。我相信这样做可以提高性能,但我还没有对此进行基准测试。

这个想法有一些严重的缺陷吗?

根据我的研究,我可以看到存在处理故障状态的问题,尚不清楚该状态对其他待处理请求的影响是什么。

有没有人有从故障状态恢复 WCF 代理的经验?

提前致谢!

4

2 回答 2

4

一旦通道处于故障状态,它将保持这种状态。所以是的,我认为静态客户端会有问题。我也是以这种方式开始的,但最终为每次通话创建并打开了一个新频道。似乎没有太多的性能权衡。

作为参考,我在来自另一台四核机器的四核机器上执行大约 30-60 个请求,每个请求每秒大约 5K-30K。到目前为止,WCF 一直保持得很好。

于 2009-02-19T01:13:46.517 回答
2

我刚刚发现在执行 [OperationContract(IsOneWay = true)] 的单向操作调用时,在代理上调用 Close() 会阻塞。这也会改变流程。

于 2009-04-23T01:18:02.937 回答