继承了一个使用ChannelFactory而不是Client进行WCF调用的项目。你为什么这样做?
此外,缓存ChannelFactory.CreateChannel()调用的结果是否安全,或者每次都应创建一个新的?
答案 0 :(得分:1)
创建WCF客户端分为两步:
步骤1在处理能力和速度方面相当昂贵 - 因此,如果您可以创建通道工厂然后缓存在某处,您可以节省一些资源并创建一个通道,缓存通道工厂将更快而不是一直重建整个客户。
因此,在此设置中,我会尝试缓存ChannelFactory
,如果可以的话 - 并在每次需要时从该工厂重新创建频道。