是的,如果您要创建类似这样的东西(一个静态类来容纳所有这些ChannelFactory<T>
实例),则必须确保该类是100%线程安全的,并且在并发访问时不会出错。我还没有使用过.NET 4的功能,因此我无法对这些功能进行具体评论-但我绝对建议您尽可能确保此功能的安全。
至于您的第二个(次要)问题:ChannelFactory本身是一个静态类- 因此您不能真正.Close()
在其上调用方法。如果您想问是否.Close()
在实际的上调用此方法IChannel
,请再次:是的,请尽力成为一个好公民,并尽可能关闭这些渠道。如果您错过了一个,.NET将为您提供服务- 但不要只是在地板上扔掉您未使用的频道然后继续-自己清理一下!:-)