Корреляция запросов сообщений LINQ
Данный раздел относится к версии Windows Workflow Foundation 4.
Этот образец демонстрирует, как выполнять корреляцию на основе содержимого с использованием пользовательской реализации MessageQuery (в отличие от системной реализации XPathMessageQuery).
Демонстрации
Пользовательская корреляция MessageQuery на основе содержимого.
Обсуждение
Этот образец показывает, как выполняется расширение базового класса MessageQuery с целью корреляции. Пользовательская реализация LinqMessageQuery
позволяет пользователям выдавать XName для поиска внутри сообщения с использованием XLinq. Данные, полученные в результате выполнения запроса, используются для формирования ключа корреляции с целью перенаправления сообщений в соответствующий экземпляр рабочего процесса.
Настройка, построение и выполнение образца
В этом образце доступ к службе рабочего процесса предоставляется через конечные точки HTTP. Для выполнения этого образца необходимо добавить списки управления доступом по URL-адресу (дополнительные сведения см. в разделе Настройка HTTP и HTTPS). Для этого запустите среду Visual Studio от имени администратора или выполните следующую команду в командной строке с повышенными привилегиями, чтобы добавить нужные списки управления доступом. Убедитесь, что подставлены нужный домен и имя пользователя.
netsh http add urlacl url=http://+:8000/ user=%DOMAIN%\%UserName%
После добавления списков управления доступом по URL-адресу выполните следующие действия.
Постройте решение.
Задайте несколько запускаемых проектов. Для этого щелкните решение правой кнопкой мыши и выберите команду Назначить запускаемые проекты. Добавьте проекты Служба и Клиент (в этом порядке) в качестве запускаемых проектов.
Запустите приложение. На консоль клиентского приложения выводится рабочий процесс, вначале отправляющий заказ, затем получающий идентификатор заказа на покупку и, наконец, подтверждающий заказ. В окне службы будут выведены сведения об обрабатываемых запросах.
![]() |
---|
Образцы уже могут быть установлены на компьютере. Перед продолжением проверьте следующий каталог (по умолчанию).
<диск_установки>:\WF_WCF_Samples
Если этот каталог не существует, перейдите на страницу Образцы Windows Communication Foundation (WCF) и Windows Workflow Foundation (WF) для .NET Framework 4, чтобы загрузить все образцы Windows Communication Foundation (WCF) и WF. Этот образец расположен в следующем каталоге.
<диск_установки>:\WF_WCF_Samples\WF\Scenario\Services\LinqMessageQueryCorrelation
|