Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В примере LinqMessageQueryCorrelation показано, как выполнять корреляцию на основе контента, используя пользовательскую MessageQuery реализацию, а не системную XPathMessageQuery.
Демонстрирует
Настраиваемая MessageQueryкорреляция на основе содержимого.
Обсуждение
В этом примере показано, как расширить базовый MessageQuery класс в целях корреляции. Пользовательская реализация LinqMessageQueryпозволяет пользователям предоставлять XName для поиска в сообщении с помощью XLinq. Данные, полученные запросом, используются для формирования ключа корреляции для отправки сообщений в соответствующий экземпляр рабочего процесса.
Настройка, сборка и запуск примера
В этом примере предоставляется служба рабочего процесса с помощью конечных точек HTTP. Чтобы запустить этот пример, необходимо добавить правильные списки управления URL-адресами (см. инструкции по настройке HTTP и HTTPS ), выполнив Visual Studio в качестве администратора или выполнив следующую команду в командной строке с повышенными привилегиями, чтобы добавить соответствующие списки управления доступом. Убедитесь, что домен и имя пользователя заменены.
netsh http add urlacl url=http://+:8000/ user=%DOMAIN%\%UserName%После добавления ACL для URL, выполните следующие шаги.
Создайте решение.
Задайте несколько проектов запуска, щелкнув решение правой кнопкой мыши и выбрав "Задать запускаемые проекты". Добавьте службу и клиент (в этом порядке) в качестве нескольких проектов запуска.
Запустите приложение. В клиентской консоли показан рабочий процесс отправки заказа и получения идентификатора заказа на покупку и последующего подтверждения заказа. В окне службы отображаются обрабатываемые запросы.