多线程应用程序中的WCF代理单例

时间:2012-02-02 07:52:00

标签: wcf asp.net-mvc-3 proxy

我刚刚继承了一个在.net 4上运行的asp.net mvc 3站点,该站点大量使用WCF调用非常慢的外部服务。该网站尚未上线。

我发现的一段奇怪的代码是围绕WCF客户端代理使用。为整个aspnet应用程序创建了一个实例,它在所有线程之间共享。所以,实际上是一个全局变量。

对我来说,这会让人大惊小怪,即使在负载测试下,该网站也能正常运行。没有防护代码阻止站点中WCF客户端上的并发调用。

有人可以确认在asp网络应用程序中使用基本上是单例WCF代理的安全性吗?不会错误地杀死所有线程的代理吗?

1 个答案:

答案 0 :(得分:4)

  

有人可以确认使用本质上是什么的安全性   asp网络应用程序中的单例WCF代理?不会故障杀死   所有线程的代理?

代理是线程安全的,但正如你所说,它应该小心处理,因为它可能处于故障状态,在这种情况下应该再次打开通道。您可以查看我一直用来重用同一个频道工厂的following sample implementation。什么是昂贵的是渠道工厂的创建,而不是渠道本身。