Как WCF превращает ServiceContract / OperationContract в Сообщение, которое можно сериализовать? - PullRequest
0 голосов
/ 04 августа 2010

Я начинаю экспериментировать с использованием ActiveMQ (в сочетании с привязками ActiveMQ.NMS) для поддержки кроссплатформенного обмена сообщениями RPC, который мы рассматриваем.

В рамках этого я бы хотелхотелось бы иметь возможность определять наши контракты RPC так, как это обеспечивает WCF - например.

[ServiceContract]
public interface IUsers
{
    [OperationContract]
    IEnumerable<IUser> void GetByEmail(string email);
}

И я хочу внести свой вклад в проект ApackeMQ.NMS.WCF, чтобы это работало, и у меня естьнекоторый опыт в написании пользовательских привязок, так что мне это не нужно.

Однако у меня возникли проблемы с концептуальной проблемой, связанной с тем, как работает WCF.Очевидно, что на некотором уровне вызов через «прокси» на клиентском канале для «GetByEmail» должен быть преобразован в объекты сообщений и ответов, чтобы их можно было сериализовать.Я хотел бы знать, как это работает, чтобы лучше понять WCF.

Я не могу найти какую-либо документацию о том, как именно это делается и какие классы в рамках довольно здоровенного WCF.задействована инфраструктура.

У кого-нибудь есть указатели?Объяснение высшего уровня и / или указания к классам были бы блестящими.

Спасибо.

1 Ответ

0 голосов
/ 04 августа 2010

Перед этим есть шаг: как (какой формат) использовать для сериализации?

WCF подключается через привязки, а конфигурация привязки выбирает формат / протокол.

А как команда передается для каждого протокола?Я не знаю, и я не думаю, что будет очень полезно копаться в этом (низкоуровневом) материале.

...