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

Тема в разделе ".NET", создана пользователем prog-man, 12 мар 2013.

  1. prog-man

    prog-man Создатель

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

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

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

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

    the_hamster Постоялец

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

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

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

    p2rcoder Постоялец

    Регистр.:
    16 июл 2012
    Сообщения:
    120
    Симпатии:
    29
    однозначно WCF, это же не переделывать а с нуля писать, так зачем использовать устаревшие технологии
     
  4. ianst

    ianst Писатель

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

    pprometey Создатель

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