Прием через буфер
Данный раздел относится к версии Windows Workflow Foundation 4.
Этот образец показывает, как настроить и сконфигурировать функцию буфера получения в Windows Workflow Foundation (WF). Функция буфера получения позволяет автору рабочего процесса создавать рабочий процесс, не заботясь о том, в каком порядке получаются сообщения. Функция буфера получения осуществляет буферизацию сообщений на локальном уровне и доставляет их, как только рабочий процесс готов к их получению.
Демонстрации
Обработка внеочередных сообщений с использованием функции буфера получения сообщений.
![]() |
---|
Образцы уже могут быть установлены на компьютере. Перед продолжением проверьте следующий каталог (по умолчанию).
<диск_установки>:\WF_WCF_Samples
Если этот каталог не существует, перейдите на страницу Образцы Windows Communication Foundation (WCF) и Windows Workflow Foundation (WF) для .NET Framework 4, чтобы загрузить все образцы Windows Communication Foundation (WCF) и WF. Этот образец расположен в следующем каталоге.
<диск_установки>:\WF_WCF_Samples\WF\Basic\Services\BufferedReceive
|
Обсуждение
В этом образце служба Windows Communication Foundation (WCF) реализуется с использованием WF. Эта служба выполняет последовательность действий Receive. Данный рабочий процесс моделирует простой процесс утверждения заявок на получение кредита. Рабочий процесс предполагает утверждение трех уведомлений на получение кредита. Клиентское приложение Windows Communication Foundation (WCF) отправляет три связанных между собой уведомления в порядке, обратном тому, который ожидает служба. Поскольку функция буфера получения в этой службе включена, любое внеочередное сообщение помещается в буфер службы и будет обработано, как только рабочий процесс будет готов к его получению.
Поскольку функция буфера получения требует поддержки ReceiveContent через привязку, в ней используется NetMsmqBinding. Привязка не требует специальной настройки, поэтому используются значения по умолчанию.
<endpoint address ="net.msmq://localhost/private/LoanService/Service1.xamlx"
binding="netMsmqBinding"
contract="ILoanService"/>
Служба также предоставляет метаданные службы, используя для этого ServiceMetadataBehavior.
Конечная точка клиента настраивается аналогично, с использованием NetMsmqBinding. Код клиента и его конфигурация формируются с помощью функции Добавить ссылку на службу Visual Studio. В следующем примере в файле App.config формируется конечная точка клиента.
<endpoint address="net.msmq://localhost/private/LoanService/Service1.xamlx"
binding="netMsmqBinding" bindingConfiguration="NetMsmqBinding_ILoanService"
contract="ServiceReference1.ILoanService" name="NetMsmqBinding_ILoanService" />
Для этого образца необходимо включить следующие компоненты Windows.
сл. IIS 6.0
сл. IIS 6.0 Совместимость управления, метабаза и совместимость конфигурации
Службы Интернета, компоненты разработки приложений и ASP.NET
Сервер очереди сообщений (Майкрософт) (MSMQ)
Настройка и построение образца
Находясь в командной строке Visual Studio 2010, зарегистрируйте ASP.NET, введя команду
aspnet_regiis –I
, затем нажмите клавишу ВВОД.Запустите Visual Studio 2010 от имени администратора.
Откройте LoanService.sln.
Когда система спросит, желаете ли вы создать виртуальные каталоги для проекта LoanService, выберите ответ Да.
Настройка очередей обслуживания
Нажмите клавишу F5 для запуска приложения LoanClient, создающего очереди и активирующего службы, определенные в Service1.xamlx.
Откройте консоль Управление компьютером, выполнив команду Compmgmt.msc из командной строки.
Находясь в консоли Управление компьютером, разверните узел Службы, Приложения, Очередь сообщений, Частные очереди.
Щелкните правой кнопкой мыши очередь loanservice/service1.xamlx и выберите пункт Свойства.
Откройте вкладку Безопасность и добавьте разрешения Сообщение получают все, Получение сообщения и Просмотр сообщения.
Откройте диспетчер служб сл. IIS 6.0 .
Перейдите на вкладку Сервер, Узлы, Веб-узел по умолчанию, Частный, LoanService и выберите пункт Дополнительные параметры.
Внесите изменения в список Разрешенные протоколы, добавив туда http и net.msmq.
Выполнение образца
Чтобы убедиться, что служба запущена, перейдите на страницу https://localhost/private/loanservice/service1.xamlx.
Нажмите клавишу F5, чтобы запустить приложение LoanClient. После завершения рабочего процесса в папке C:\Inbox должен быть сохранен файл out.txt с результатом обмена сообщениями.
Очистка
Откройте консоль Управление компьютером, выполнив команду Compmgmt.msc из командной строки.
Разверните узлы Служба, Приложения, Очередь сообщений и Частные очереди.
Удалите очередь loanservice/service1.xamlx.
Удалите каталог C:\Inbox.
![]() |
---|
Образцы уже могут быть установлены на компьютере. Перед продолжением проверьте следующий каталог (по умолчанию).
<диск_установки>:\WF_WCF_Samples
Если этот каталог не существует, перейдите на страницу Образцы Windows Communication Foundation (WCF) и Windows Workflow Foundation (WF) для .NET Framework 4, чтобы загрузить все образцы Windows Communication Foundation (WCF) и WF. Этот образец расположен в следующем каталоге.
<диск_установки>:\WF_WCF_Samples\WF\Basic\Services\BufferedReceive
|