Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
В примере AccessingOperationContext показано, как действия обмена сообщениями (Receive и Send) можно использовать с действием настраиваемой области для доступа к Current и присоединения или извлечения пользовательского заголовка сообщения в рамках исходящего или входящего сообщения.
Демонстрирует
Действия обмена сообщениями, ISendMessageCallback, IReceiveMessageCallback.
Обсуждение
В этом примере показано, как использовать точки расширяемости (ISendMessageCallback) IReceiveMessageCallbackв действиях обмена сообщениями для доступа Current. Обратные вызовы регистрируются в среде выполнения рабочего процесса в качестве реализации IExecutionProperty , выбранной действиями обмена сообщениями при выполнении. Все действия обмена сообщениями в той же области, что и реализация IExecutionProperty, находятся под воздействием. В частности, в этом примере используется действие пользовательской области для принудительного применения поведения обратного вызова. Он ISendMessageCallback используется в клиентском рабочем процессе для включения рабочего процесса Id в качестве исходящего MessageHeader. Затем этот заголовок захватывается в службе с использованием IReceiveMessageCallback, и значение заголовка выводится в консоль.
Настройка, сборка и запуск примера
В этом примере предоставляется служба рабочего процесса с помощью конечных точек HTTP. Чтобы запустить этот пример, необходимо добавить правильные списки управления URL-адресами (см. инструкции по настройке HTTP и HTTPS ), выполнив Visual Studio в качестве администратора или выполнив следующую команду в командной строке с повышенными привилегиями, чтобы добавить соответствующие списки управления доступом. Убедитесь, что домен и имя пользователя заменены.
netsh http add urlacl url=http://+:8000/ user=%DOMAIN%\%UserName%После добавления ACL для URL, выполните следующие шаги.
Создайте решение.
Задайте несколько проектов запуска, щелкнув решение правой кнопкой мыши и выбрав "Задать запускаемые проекты".
Добавьте службу и клиент (в этом порядке) в качестве нескольких проектов запуска.
Запустите приложение. В клиентской консоли отображается рабочий процесс, выполняющийся дважды, и в окне службы отображается идентификатор экземпляра этих рабочих процессов.