.NET Remoting и типы данных

prog-man

Создатель
Регистрация
4 Фев 2013
Сообщения
1
Реакции
0
Пишу клиент-серверное приложение, которое получает набор задач (на сервере) и распределяет их среди клиентских приложений, подключенных к серверной части.

Для общения по сети впервые попробовал использовать .NET Remoting, удалённый вызов методов и передача данных, всё очень понравилось. Знаю, что технология устаревает и есть WCF, но там всё как то слишком сложно на первый взгляд показалось. (если есть рабочий пример - буду рад)

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

Хотелось бы услышать, возможно ли это в принципе, а также куда копать. Или возможно стоит сразу в сторону WCF смотреть..?
 

the_hamster

Постоялец
Регистрация
15 Сен 2008
Сообщения
101
Реакции
19
1) .NET Remoting не устаревает, а уже безнадежно устарела :)

2) Для сериализации нужно проставить атрибуты на классе, стандартно есть поддежка сериализация простых типов данных. Можно написать свой сериалайзер и десериалайзер объекта.

3) Лучше сразу на WCF. Тут данные можете хоть в JSON гонять :)
 

p2rcoder

Постоялец
Регистрация
16 Июл 2012
Сообщения
315
Реакции
153
однозначно WCF, это же не переделывать а с нуля писать, так зачем использовать устаревшие технологии
 

ianst

Писатель
Регистрация
25 Май 2016
Сообщения
9
Реакции
0
которое получает набор задач (на сервере) и распределяет их среди клиентских приложений, подключенных к серверной части
WCF Duplex.
Подключения к серверу можно реализовывать за счет собственной функции регистрации и последующим сохранением ICommunicationObject клиентской сессии.
+ Клиент должен сам пинговать сервер. Иначе WCF не узнает о его гибели т.к. обытия Fault и Close сработают только при штатном разрыве соединения и/или при фактическом вызове, что не всегда гуд.
 

pprometey

Создатель
Регистрация
15 Дек 2012
Сообщения
20
Реакции
9
Как вариант, можно еще использовать технологию ODATA, вместо WCF. Для .NET Core даже предпочтительней Для просмотра ссылки Войди или Зарегистрируйся
 
Сверху