Активация на основе конфигурации
В этом образце показывается способ активации служб Windows Communication Foundation (WCF) без использования SVC-файла.
![]() |
---|
Образцы уже могут быть установлены на компьютере. Перед продолжением проверьте следующий каталог (по умолчанию).
<диск_установки>:\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.
![]() |
---|
Инструкции по настройке и построению этого образца приведены в конце этого раздела. |
Активация служб без использования 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
(если имеется), в противном случае узел выполняет рекурсивный поиск родительской папки.
![]() |
---|
Для работы этого образца требуется размещение в службах IIS. |
Использование этого образца
Используйте Visual Studio 2010, чтобы открыть файл Service.csproj.
Чтобы построить решение, нажмите клавишу F6.
Проверьте службу, запустив WCFTestClient.exe.
В обозревателе Windows перейдите в папку %SystemDrive%\Program Files\Microsoft Visual Studio 10.0\Common7\IDE.
Запустите файл WcfTestClient.exe.
Задайте адрес MEX службы.
Нажмите CTRL+SHIFT+A, чтобы задать адрес службы.
Задайте адрес https://localhost/ServiceModelSamples/Calculator.svc.
Выполните операцию
Add
. Задайте для параметраn1
значение, равное 10, а для параметраn2
значение, равное 15.Нажмите Вызвать.
Ожидаемым результатом является 25.
Настройка, построение и выполнение образца
Убедитесь, что выполнены процедуры, описанные в разделе Процедура однократной настройки образцов Windows Communication Foundation.
Чтобы создать версию решения на языке C# или Visual Basic .NET, следуйте инструкциям в разделе Построение образцов Windows Communication Foundation.
После построения решения запустите файл Setup.bat, чтобы настроить приложение ServiceModelSamples в службах IIS. Теперь каталог ServiceModelSamples должен представляться как приложение IIS.
Чтобы выполнить образец на одном или нескольких компьютерах, следуйте инструкциям в разделе Running the Windows Communication Foundation Samples.