C# 我们将工厂作为一个单件。这是最佳实践吗?

C# 我们将工厂作为一个单件。这是最佳实践吗?,c#,wcf,channelfactory,C#,Wcf,Channelfactory,我正在使用一个使用WSTrustChannelFactory创建信任通道的应用程序,我注意到每当需要新通道时,代码都会创建一个新的WSTrustChannelFactory 我以前从未使用过它,但由于这是一个工厂,我想它可以作为一个单例实现 我说得对吗?如果是,是否需要考虑任何其他因素(工厂是否始终“可用”,或者是否存在应使用新实例替换的任何场景/例外)?。此外,工厂创建是否是一项昂贵的操作,例如WCFChannelFactory创建 我说得对吗 是的,我想你是。我曾在几个项目中使用过频道工厂,

我正在使用一个使用
WSTrustChannelFactory
创建信任通道的应用程序,我注意到每当需要新通道时,代码都会创建一个新的
WSTrustChannelFactory

我以前从未使用过它,但由于这是一个工厂,我想它可以作为一个单例实现

我说得对吗?如果是,是否需要考虑任何其他因素(工厂是否始终“可用”,或者是否存在应使用新实例替换的任何场景/例外)?。此外,工厂创建是否是一项昂贵的操作,例如WCF
ChannelFactory
创建

我说得对吗

是的,我想你是。我曾在几个项目中使用过
频道工厂
,每次都是
单例
。它当然有它的局限性,在非常高的负载下可能会成为瓶颈,但对于很多实现,我认为您都很好