Программная конфигурация Silverlight 4 NetTcpBinding - PullRequest
0 голосов
/ 27 мая 2010

Я хотел бы настроить NetTcpBinding программно для клиента Silverlight 4. (NetTcpBinding теперь поддерживается)

Вот код, который я использую для этого для клиента Windows Forms:

  EndpointAddress endpointAddress = new EndpointAddress(uri);
  NetTcpBinding netTcpBinding = new NetTcpBinding();
  MyServiceClient agentClient = new MyServiceClient(new InstanceContext(this), netTcpBinding, endpointAddress);

Для silverlight я добавил ссылки на System.ServiceModel.Extensions и System.ServiceModel.NetTcp, но этого недостаточно: я не могу найти класс NetTcpBinding.

Где этот класс, если он существует? Существует ли эквивалентный синтаксис? Среда выполнения Silverlight 4 должна делать это как-то при использовании файла конфигурации.

1 Ответ

3 голосов
/ 28 мая 2010

Вместо NetTcpBinding можно использовать пользовательскую привязку: приведенный ниже код работает, но я не знаю, является ли это рекомендуемым шаблоном.

  BinaryMessageEncodingBindingElement messageEncoding = new BinaryMessageEncodingBindingElement();
  TcpTransportBindingElement tcpTransport = new TcpTransportBindingElement();
  CustomBinding binding = new CustomBinding(messageEncoding, tcpTransport);
...