Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Convert Remoting to WCF, конвертация приложения с Remoting на WCF 
:(
    Опции темы
Moid
Дата 25.8.2014, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 396
Регистрация: 27.3.2006

Репутация: нет
Всего: 3



Встал вопрос перевода большого клиент серверного проекта с Remoting на WCF.
Покопав тему уткнулся в основные проблемы: 
- передача MarshalByRefObject 
- контракты с интерфейсными объектами, о которых клиент ничего не знает(т.е. клиент видит только общие интерфейсы, классы объектов от него скрыты и ServiceKnownType не помогает (подробнее)


Есть мысль написать враппер, который будет возвращать на запрос клиентом объекта с сервера endpoint.
Клиент по этому endpoint-у  получает уже объект.
В этом случае придется каждый такой интерфейс дополнить методами возврата поинта и следить за временем жизни соединений. 

Кто заморачивался на эту тему? какие проблемы встретили на пути?



--------------------
"Всё должно быть сделано настолько простым, насколько это возможно, но не проще" (с) А.Эйнштейн
PM MAIL   Вверх
mihryak
Дата 25.8.2014, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 731
Регистрация: 28.4.2007
Где: С-Пб

Репутация: 3
Всего: 36



Вообще, в ссылке правильно написано: WCF работает через обмен сообщениями. Там же написано, что ServiceKnownType работает так, как он и должен работать.

А какую задачу вы решаете, переходя на WCF?
Если есть веские причины уйти от Remoting, или же просто скучно и есть свободные ресурсы, то стоит пересмотреть архитектуру и привести её в соответствие с идеологией WCF.
В обратном же случае, очень не рекомендую пытаться "натянуть" WCF на Remoting,  странная затея без шансов высоко взлететь, как мне кажется.
PM MAIL ICQ   Вверх
Moid
Дата 26.8.2014, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 396
Регистрация: 27.3.2006

Репутация: нет
Всего: 3



обнаружилась еще одна проблема: не получается создать endpoint на конкретный объект, созданный на сервере вручную.

Вопрос: поддерживает ли WCF такую возможность? Желательно с линкой на источник.


--------------------
"Всё должно быть сделано настолько простым, насколько это возможно, но не проще" (с) А.Эйнштейн
PM MAIL   Вверх
Ilya81
Дата 26.8.2014, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 18.4.2014
Где: ЛО, Всеволожский р-н

Репутация: нет
Всего: 4



Такая возможность не поддерживается. Т. е. все DataContract передаются через ServiceContract. Методов внутри DataContract быть не может.
PM MAIL ICQ Skype   Вверх
Moid
Дата 2.9.2014, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 396
Регистрация: 27.3.2006

Репутация: нет
Всего: 3



накопал, что через IServiceBehaviour можно переопределить возвращаемый инстанс объекта хостом.

Не могу понять, можно ли переопределить IEndpointBehaviour так, чтобы енд поинт указывал на нужный мне инстанс объекта?





--------------------
"Всё должно быть сделано настолько простым, насколько это возможно, но не проще" (с) А.Эйнштейн
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
cully
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Распределённые приложения и сеть | Следующая тема »


 




[ Время генерации скрипта: 0.1279 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.