[.NET] Что использовать для предоставления сервисов в сети?

agaaaa

Требования:
- небольшой оверхед по объёму данных либо удобный способ прикрутить отдельный канал с низким оверхедом;
- весьма желательно низкое время отклика;
- безопасность: пользователь авторизуется с самоподписанным сертификатом, затем посылает сервису команды, реакция сервиса зависит от конкретного пользователя (от того, какой сертификат был использован при авторизации); соответственно надо, чтобы нельзя было послать команду от другого пользователя (разжевал на всякий случай);
- поддержка в Mono;
- [не выдумывать велосипеды];
Remoting:
+ удобные прокси-объекты, маршаллинг по ссылке, не очень большой оверхед;
- поддерживает шифрование tcp только через IPsec, что не годится, если из операции сервиса не удастся определить с кем мы имеем дело (как это сделать, я не разобрался; тривиально работает через windows-авторизацию, но в интернете лучше использовать что-нибудь другое) + сложность настройки IPsec;
- Майкрософт считает сабж устаревшим;
WCF:
Cейчас экспериментирую. Застрял на том, что на стороне сервиса SecurityContext.Current = null и я не могу определить, кто пытается выполнить операцию, хотя кастомный валидатор сертификатов вызывается и там, соответственно, это видно. Может надо самому устанавливать этот контекст? Но тогда как?
Mini-Bike:
API, который надо предоставлять несложный, можно ручками сделать бинарный протокол (или может кто готовый посоветует)
+ можно сделать как угодно;
- велосипед;
Если кто решал аналогичную задачу, опишите чем вы пользовались.

Helga87

WCF:
крайне не рекомендую. Подробности может красочно поведать hulio. У меня же только эмоции.

Dasar

крайне не рекомендую. Подробности может красочно поведать hulio. У меня же только эмоции.
что именно не так?

agaaaa

У меня же только эмоции.
Да мне он тоже кажется менее удачным, чем Remoting. Почему они решили забросить его?
Что за эмоции-то?
Оставить комментарий
Имя или ник:
Комментарий: