30
|
Daniel Auger · 技术社区 · 15 年前 |
![]() |
1
19
我发现主要答案不准确,所以我在这里作出回应。 乱七八糟 从渠道、工厂和客户那里。文档也没有帮助,因为它们似乎只是为了掩盖混乱,所以我不得不求助于测试。 由于非缓存通道的性能问题,在中更改了实现 v3.5 为了解决这些问题,需要添加缓存,但这只会使问题变得复杂。
这一点很重要
因此,实际上,在内部,这是所有相同的渠道。我个人已经开始处理渠道工厂而不是客户渠道,并且没有遇到任何问题。我也尝试过在一个循环中创建100000个客户端通道,并且只关闭
|
![]() |
2
14
正如您所知,ChannelFactory根据配置创建客户端通道。您可能希望从现有工厂(到锁定的同一端点)创建多个客户端通道。如果已使用工厂创建通道,则没有理由不关闭它。 但是,你为什么要让它开着呢?这里有一个有趣的例子 article on WCF clients
与重用通道不同,您可能只想使用通道工厂创建一个新的通道。 More on the client architecture is here . |
![]() |
3
4
另一个选项是使用静态CreateChannel方法: msdn.microsoft.com/en-us/library/aa344556.aspx |
![]() |
4
2
答案已经在这里了,但它是分散在几个评论和答案,并不完全清楚,因此我的答案。
否。如果要从每个ChannelFactory创建多个频道,则应处置ChannelFactory,这将处置它为您创建的所有频道。
如果要为每个(端点、绑定)对创建一个通道,应该使用
this static function
:
处理channelfactory及其创建的任何通道都将引发ObjectDisposed异常。 |
![]() |
Ehsan Akbar · 当请求被激发时,WCF请求时间会增加 6 年前 |
![]() |
Gans · 具有多操作合约的WCF Rest服务 6 年前 |
![]() |
Moelgaard · NLog中的IIS应用程序名称。配置 6 年前 |
![]() |
Kerwen · WCF服务调用异步函数 6 年前 |