|
Модераторы: gambit |
|
Moid |
|
|||
Опытный Профиль Группа: Участник Сообщений: 396 Регистрация: 27.3.2006 Репутация: нет Всего: 3 |
Встал вопрос перевода большого клиент серверного проекта с Remoting на WCF.
Покопав тему уткнулся в основные проблемы: - передача MarshalByRefObject - контракты с интерфейсными объектами, о которых клиент ничего не знает(т.е. клиент видит только общие интерфейсы, классы объектов от него скрыты и ServiceKnownType не помогает (подробнее) Есть мысль написать враппер, который будет возвращать на запрос клиентом объекта с сервера endpoint. Клиент по этому endpoint-у получает уже объект. В этом случае придется каждый такой интерфейс дополнить методами возврата поинта и следить за временем жизни соединений. Кто заморачивался на эту тему? какие проблемы встретили на пути? -------------------- "Всё должно быть сделано настолько простым, насколько это возможно, но не проще" (с) А.Эйнштейн |
|||
|
||||
mihryak |
|
|||
Опытный Профиль Группа: Участник Сообщений: 731 Регистрация: 28.4.2007 Где: С-Пб Репутация: 3 Всего: 36 |
Вообще, в ссылке правильно написано: WCF работает через обмен сообщениями. Там же написано, что ServiceKnownType работает так, как он и должен работать.
А какую задачу вы решаете, переходя на WCF? Если есть веские причины уйти от Remoting, или же просто скучно и есть свободные ресурсы, то стоит пересмотреть архитектуру и привести её в соответствие с идеологией WCF. В обратном же случае, очень не рекомендую пытаться "натянуть" WCF на Remoting, странная затея без шансов высоко взлететь, как мне кажется. |
|||
|
||||
Moid |
|
|||
Опытный Профиль Группа: Участник Сообщений: 396 Регистрация: 27.3.2006 Репутация: нет Всего: 3 |
обнаружилась еще одна проблема: не получается создать endpoint на конкретный объект, созданный на сервере вручную.
Вопрос: поддерживает ли WCF такую возможность? Желательно с линкой на источник. -------------------- "Всё должно быть сделано настолько простым, насколько это возможно, но не проще" (с) А.Эйнштейн |
|||
|
||||
Ilya81 |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 105 Регистрация: 18.4.2014 Где: ЛО, Всеволожский р-н Репутация: нет Всего: 4 |
Такая возможность не поддерживается. Т. е. все DataContract передаются через ServiceContract. Методов внутри DataContract быть не может.
|
|||
|
||||
Moid |
|
|||
Опытный Профиль Группа: Участник Сообщений: 396 Регистрация: 27.3.2006 Репутация: нет Всего: 3 |
накопал, что через IServiceBehaviour можно переопределить возвращаемый инстанс объекта хостом.
Не могу понять, можно ли переопределить IEndpointBehaviour так, чтобы енд поинт указывал на нужный мне инстанс объекта? -------------------- "Всё должно быть сделано настолько простым, насколько это возможно, но не проще" (с) А.Эйнштейн |
|||
|
||||
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Распределённые приложения и сеть | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |