Поделиться через


Конструктор действия Receive

Конструктор действий получения используется для создания и настройки Receive действия. Действие Receive получает сообщение - либо встроенное, например Message, Stream или XElement, либо определяемое контрактом данных приложения, контрактом сообщений или классом XML, поддерживающим сериализацию.

Действие Receive

Действие Receive может получать один или несколько элементов в зависимости от используемого типа приема содержимого. Действие SendReply может быть привязано к действию Receive, которое получает сообщение в процессе обмена сообщениями по шаблону «запрос-ответ» на стороне службы.

Использование конструктора действия Receive

Доступ к конструктору действий получения в категории "Обмен сообщениями" панели элементов. Конструктор действий получения можно перетащить из панели элементов и удалить его в область конструктора рабочих процессов, где бы ни находились действия. При этом создается действие Receive со значением по умолчанию DisplayName для Receive. Его DisplayName можно изменить в заголовке конструктора действий получения или в поле DisplayName сетки свойств.

Чтобы создать SendReply действие и привязать его к выбранному Receive действию, щелкните правой кнопкой мыши конструктор действий Получения , щелкните элемент Create SendReply в контекстном меню, а конструктор SendReplyToReceive появится под конструктором получения . Действие SendReply отправляет ответное сообщение в процессе обмена сообщениями по шаблону «запрос-ответ» на стороне службы. Его можно настроить с помощью конструктора SendReplyToReceive .

Кроме того, конструктор шаблонов ReceiveAndSendReply в категории "Сообщения" панели элементов можно использовать для создания пары предварительно настроенных Receive и SendReply действий. Дополнительные сведения об использовании шаблона ReceiveAndSendReply и SendReplyToReceive см. в разделе ReceiveAndSendReply.

Свойства действия Receive

В следующей таблице показаны свойства Receive и описано их использование в конструкторе. Эти свойства можно изменить в сетке свойств или в области конструктора рабочих процессов. Свойство OperationName является единственным обязательным свойством.

Имя свойства Обязательное поле Использование
DisplayName False Указывает понятное имя действия Receive. Значение по умолчанию - Receive.

Несмотря на то, что использовать значение, отличное от значения по умолчанию, для понятного имени DisplayName не требуется, его все же рекомендуется использовать.
OperationName Истина Указывает имя операции службы, реализуемой этим действием Receive. Это свойство используется для создания значения по умолчанию для свойства Action , если свойство Action не задано явным образом.
ServiceContractName False Задает имя контракта службы. Данное свойство используется для группирования операций служб в отдельные контракты служб. Все действия Receive, которые имеют одинаковое имя контракта ServiceContractName, группируются по этому контракту службы (тип порта WSDL). Значение по умолчанию — полное имя среды CLR действия верхнего уровня (root).
Content False Указывает получаемое содержимое сообщения или параметра. Это может быть либо действие ReceiveMessageContent, либо действие ReceiveParametersContent. Измените это свойство, нажав кнопку с многоточием рядом с полем "Содержимое " в сетке свойств или нажав кнопку "Определить... " рядом с меткой "Содержимое " в области конструктора действий получения . Оба отображают диалоговое окно "Определение содержимого". Дополнительные сведения об использовании этого поля см. в разделе "Диалоговое окно определения содержимого".
CorrelatesOn False Указывает корреляции между действиями Receive в операциях службы рабочего процесса с объектом MessageQuerySet. Нажмите кнопку с многоточием рядом со CorrelatesOn свойством в сетке свойств, чтобы открыть диалоговое окно "Определение Коррелесона". Дополнительные сведения об использовании этого диалогового окна см. в разделе "Диалоговое окно определения содержимого".
CorrelatesWith False Задает метод CorrelationHandle, используемый для перенаправления сообщения в соответствующий экземпляр рабочего процесса.

Нажмите кнопку с многоточием рядом со CorrelatesWith свойством в сетке свойств, чтобы открыть диалоговое окно редактора выражений. Дополнительные сведения об использовании этого диалогового окна см. в разделе "Практическое руководство. Использование раздела редактора выражений".
CorrelationInitializers False Указывает коллекцию объектов CorrelationInitializer, инициализирующих несколько объектов CorrelationHandle, которые настраивают это действие Receive в рамках рабочего процесса. Нажмите кнопку с многоточием рядом со CorrelationInitializers свойством в сетке свойств, чтобы открыть диалоговое окно "Добавить инициализаторы корреляции ". Дополнительные сведения об использовании этого поля см. в разделе "Добавление корреляцииInitializers" диалогового окна .
CanCreateInstance False Указывает значение, которое определяет, может ли быть создан новый экземпляр рабочего процесса для обработки сообщения в случае, если сообщение не соответствует существующему экземпляру рабочего процесса. Если задано значение true, создается новый экземпляр рабочего процесса для обработки сообщения, если сообщение не сопоставляется с существующим экземпляром рабочего процесса.
KnownTypes False Указывает коллекцию известных типов для операции службы, реализуемой этим действием Receive. Это свойство должно использоваться вместе со свойством SerializerOption, установленным в значение DataContractSerializer. Не учитывается, если используется XmlSerializer.

Нажмите кнопку с многоточием рядом с полем KnownTypes в сетке свойств, чтобы отобразить диалоговое окно редактора коллекции типов, с помощью которого можно добавить соответствующие типы. Дополнительные сведения об использовании этого поля см. в диалоговом окне "Редактор коллекции типов".
ProtectionLevel False Задает ProtectionLevel для сообщения.

1. ProtectionLevel Означает только проверку подлинности.
2. ProtectionLevel Означает, что данные подписываются для обеспечения целостности передаваемых данных.
3. ProtectionLevel означает шифрование и подпись данных для обеспечения конфиденциальности и целостности передаваемых данных.
SerializerOption False Указывает тип используемого сериализатора для операции службы, реализуемой действием Receive. Значение по умолчанию равно DataContractSerializer, при котором выполняется сериализация и десериализация экземпляра типа в XML-поток или документ, который использует переданный контракт данных. XmlSerializer также может быть использован в том случае, если необходим больший контроль над XML.
Action False Указывает заголовок действия сообщения. Если оно не задано явным образом, значение по умолчанию равно: https://tempuri.org/{service contract namespace}/{service contract name}/{operation name}

См. также