如何以编程方式设置租约Timeout设置?

时间:2011-09-12 12:52:56

标签: wcf nettcpbinding

我们有一个位于负载均衡器后面的WCF服务(NetTcpBinding)。 I've read为了避免“stickyniss”,我降低了频道池中频道的LeaseTime

我只找到了如何使用配置文件设置此值的示例,但我想设置programmaticaly,任何指针?

1 个答案:

答案 0 :(得分:2)

您可以通过LeaseTimeout通过TcpTransportBindingElement媒体访问ConnectionPoolSettings媒体资源:

TcpTransportBindingElement tcpBE = new TcpTransportBindingElement();
tcpBE.ConnectionPoolSettings.LeaseTimeout = TimeSpan.FromSeconds(1);

如果您有NetTcpBinding个对象,则需要先将其转换为CustomBinding,然后访问绑定元素。下面的例子显示了这样做的一种方法。

NetTcpBinding myOriginalBinding = CreateBinding();
CustomBinding newBinding = new CustomBinding(myOriginalBinding);
TcpTransportBindingElement tcpBE = newBinding.Elements.Find<TcpTransportBindingElement>();
tcpBE.ConnectionPoolSettings.LeaseTimeout = TimeSpan.FromSeconds(1);
相关问题