我刚刚继承了一个在 .net 4 上运行的 asp.net mvc 3 站点,该站点大量使用对非常慢的外部服务的 WCF 调用。该网站尚未上线。
我发现的一段奇怪的代码是围绕 WCF 客户端代理使用的。为整个 aspnet 应用程序创建一个实例,该实例在所有线程之间共享。因此,实际上是一个全局变量。
对我来说,这非常危险,但即使在负载测试下,该网站也能正常运行。没有保护代码阻止站点中 WCF 客户端上的并发调用。
有人可以确认在 ASP Net 应用程序中使用本质上是单例 WCF 代理的安全性吗?错误不会杀死所有线程的代理吗?
有人可以确认使用本质上是安全的吗?
asp net 应用程序中的单例 WCF 代理?不会犯错杀死
所有线程的代理?
代理是线程安全的,但正如您所说,应该小心处理它,因为它可能处于故障状态,在这种情况下应该再次打开通道。你可以看看以下示例实现 https://stackoverflow.com/a/3201001/29407我一直用它来重用相同的通道工厂。昂贵的是通道工厂的创建,而不是通道本身。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)