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


Активация на основе конфигурации

В этом образце показывается способ активации служб Windows Communication Foundation (WCF) без использования SVC-файла.

Dd807499.Important(ru-ru,VS.100).gif Примечание
Образцы уже могут быть установлены на компьютере. Перед продолжением проверьте следующий каталог (по умолчанию).

<диск_установки>:\WF_WCF_Samples

Если этот каталог не существует, перейдите на страницу Образцы Windows Communication Foundation (WCF) и Windows Workflow Foundation (WF) для .NET Framework 4, чтобы загрузить все образцы Windows Communication Foundation (WCF) и WF. Этот образец расположен в следующем каталоге.

<диск_установки>:\WF_WCF_Samples\WCF\Basic\Services\Hosting\ConfigBasedActivation

Подробные сведения об образце

В этом образце клиентом является тестовый клиент WCF, а служба размещается в службах IIS.

Dd807499.note(ru-ru,VS.100).gifПримечание
Инструкции по настройке и построению этого образца приведены в конце этого раздела.

Активация служб без использования SVC-файла

В .NET Framework 3.5 для активации служб необходим SVC-файл. Это привело к появлению дополнительных затрат на управление, поскольку требовалось выполнить развертывание дополнительного файла, который необходимо поддерживать вместе с приложением. В выпуске .NET Framework, версия 4 компоненты активации можно настроить с помощью файла конфигурации приложения.

В .NET Framework 4 реализован новый элемент конфигурации (ServiceActivationElement) в разделе ServiceHostingEnvironmentSection файла конфигурации приложения. Коллекция ServiceHostingEnvironmentSection принимает коллекцию служб для активации, как показано в предыдущем примере кода.

<serviceActivations>
   <add relativeAddress="Calculator.svc" service="Microsoft.ServiceModel.Samples.CalculatorService" />


<serviceActivations>

Необходимо отметить, что конфигурация схожа с конфигурацией SVC-файлов. Также реализуется дополнительный атрибут relativeAddress, предоставляющий адрес службы. Относительный адрес также является виртуальным путем службы. Узел извлекает файл Web.config из файла в местоположении virtualPath (если имеется), в противном случае узел выполняет рекурсивный поиск родительской папки.

Dd807499.note(ru-ru,VS.100).gifПримечание
Для работы этого образца требуется размещение в службах IIS.

Использование этого образца

  1. Используйте Visual Studio 2010, чтобы открыть файл Service.csproj.

  2. Чтобы построить решение, нажмите клавишу F6.

  3. Проверьте службу, запустив WCFTestClient.exe.

  4. В обозревателе Windows перейдите в папку %SystemDrive%\Program Files\Microsoft Visual Studio 10.0\Common7\IDE.

  5. Запустите файл WcfTestClient.exe.

  6. Задайте адрес MEX службы.

  7. Нажмите CTRL+SHIFT+A, чтобы задать адрес службы.

  8. Задайте адрес https://localhost/ServiceModelSamples/Calculator.svc.

  9. Выполните операцию Add. Задайте для параметра n1 значение, равное 10, а для параметра n2 значение, равное 15.

  10. Нажмите Вызвать.

    Ожидаемым результатом является 25.

Настройка, построение и выполнение образца

  1. Убедитесь, что выполнены процедуры, описанные в разделе Процедура однократной настройки образцов Windows Communication Foundation.

  2. Чтобы создать версию решения на языке C# или Visual Basic .NET, следуйте инструкциям в разделе Построение образцов Windows Communication Foundation.

  3. После построения решения запустите файл Setup.bat, чтобы настроить приложение ServiceModelSamples в службах IIS. Теперь каталог ServiceModelSamples должен представляться как приложение IIS.

  4. Чтобы выполнить образец на одном или нескольких компьютерах, следуйте инструкциям в разделе Running the Windows Communication Foundation Samples.