Отключить пул соединений для привязок WCF net.tcp - PullRequest
1 голос
/ 15 марта 2012

У меня есть особый сценарий, в котором мне нужно отключить пул соединений net.tcp.Я понимаю, что это не идеальная конфигурация, однако мне нужно сделать это временно для устранения проблем в моей конкретной среде.

Может кто-нибудь привести пример конфигурации привязки net.tcp, которая отключает повторное использование \ пул соединения?

1 Ответ

0 голосов
/ 10 сентября 2012

Вот как я это сделал в коде.

NetTcpBinding tbinding = new NetTcpBinding(SecurityMode.None, true);

// set some stuff on the binding ...
// ...

BindingElementCollection bElementCol = tbinding.CreateBindingElements();

TcpTransportBindingElement transport = bElementCol.Find<TcpTransportBindingElement>();
transport.ConnectionPoolSettings.IdleTimeout = TimeSpan.Zero;
transport.ConnectionPoolSettings.LeaseTimeout =  TimeSpan.Zero;
transport.ConnectionPoolSettings.MaxOutboundConnectionsPerEndpoint = 0;

CustomBinding customBinding = new CustomBinding();
customBinding.Elements.AddRange(bElementCol.ToArray());
customBinding.Name = "NetTcpBinding";
// use customBinding instead of tbinding

Вот несколько ссылок, которые мне в этом помогли:

Как программно установить параметр leaseTimeout?

http://plainoldstan.blogspot.ca/2007/09/nettcpbinding-to-custombinding.html

http://msdn.microsoft.com/en-us/library/ms788984.aspx

...