Какие проблемы следует ожидать при портировании приложения с подлинных каналов на WCF - PullRequest
1 голос
/ 18 ноября 2009

Подлинные каналы - это набор сторонних средств для .Net Remoting.

Мне было дано задание заменить использование .Net Remoting в клиенте и сервере rick на WCF. Я знаком со стандартным удаленным доступом .net, но не с подлинными каналами.

Итак, какие проблемы мне следует ожидать и какие-либо указатели на решения?

Ответы [ 2 ]

2 голосов
/ 18 ноября 2009

Существует несколько функций GenuineChannels, по которым мы изначально использовали его вместо стандартного .Net remoting:

  1. это работает через аутентификацию прокси, тогда как .Net remoting не будет
  2. может транслировать события на сервер и получать их от клиентов
  3. имеет встроенную функциональность для работы с отключениями (сообщая о них приложению через события) и автоматически переподключениями
  4. он тесно интегрируется с аутентификацией SSPI, но также имеет возможность переключать это для альтернативного механизма (он упоминается GC как ZPA)
  5. это может сжать gzip трафик между сервером и клиентами
  6. он может зашифровать трафик между сервером и клиентами (используя базовые вызовы Win32)
  7. имеет проверку целостности, которая предотвращает изменение промежуточным хостом

Он также имеет множество других связанных с безопасностью функций, которые может использовать ваше приложение.

Я не использовал WCF, поэтому не знаю, поддерживаются ли они, но он должен дать вам начальный список проверяемых вещей.

1 голос
/ 18 ноября 2009

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

Кроме того, WCF довольно крутой: вы определяете контракт данных и контракт операции, используя атрибуты, и у вас запущена служба. При попытке сериализации круговых объектов следует проявлять больше осторожности (но это решается) а остальное - вам придется найти, пока вы портируете / изучаете WCF.

Существует простой способ - использовать совместно используемую dll, а сложный (но более дружественный) - создать прокси-сервер для клиента.

Юваль Лоуи - Это хорошая книга для начала, а остальное можно погуглить ....

...