首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ChannelFactory重用策略

ChannelFactory重用策略
EN

Stack Overflow用户
提问于 2009-05-15 20:00:23
回答 2查看 2.9K关注 0票数 3

我一直在读到创建ChannelFactory的代价很高,除非有技术原因,否则应该尽可能重用ChannelFactories,要么以某种方式缓存它们,要么使用工厂的静态实例。

EN

回答 2

Stack Overflow用户

发布于 2009-05-15 22:49:37

如果您使用的是.NET 3.0 SP1和更高版本,并且不需要直接处理通道的特殊内容,那么最好的选择是只使用从ClientBase派生的客户端代理类(如导入服务时生成的代理类)。那些已经缓存了下面的工厂。详情请参见here

如果不是,那么是的,您需要将IChannelFactory对象放在某个地方,但仍然需要确保适当地处理共享(我认为堆栈不能保证工厂的访问是线程安全的),但除此之外,它应该相当简单。

票数 3
EN

Stack Overflow用户

发布于 2012-12-18 23:36:32

Darin Damitrov在这里发布了一个关于重用通道工厂的有用答案:

creating WCF ChannelFactory

我最近一直在研究一个应用程序的内存使用情况和性能。我应用了他所倡导的技术(使用字典来存储一组通道工厂),并获得了良好的性能提升。

我所看到的是,实例化一个通道工厂可能需要70毫秒。如果这种情况经常发生,它很快就会积累起来。

目前,我很谨慎,还没有设置DI容器在应用程序的生命周期中提供相同的container工厂实例。相反,我使它们在单个HTTP请求期间有效(在此期间可能会进行许多后端服务调用)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/870600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档