Иерархическая модель конфигурации
Этот образец демонстрирует реализацию иерархии файлов конфигурации для служб. Он также показывает то, как привязки, поведения служб и конечных точек наследуются с более высоких уровней иерархии.
Подробные сведения об образце
В .NET Framework, версия 4 для WCF разработано усовершенствование иерархической модели конфигурации. Примером модели иерархической конфигурации может служить модель, определенная файлом Machine.config -> Rootweb.config -> Web.config. В .NET Framework 4 привязки и поведения, определенные на более высоких уровнях иерархии конфигурации, добавляются в службы без явной настройки. В этом образце показано, как можно упростить настройку служб, пользуясь элементами конфигурации, определенными на уровне компьютера или приложения.
Этот образец состоит из девяти служб, которые определены на трех уровнях иерархии. Service1
находится на корневом уровне. Service2
и Service3
наследуют элементы по умолчанию от Service1
. Service4
, Service5
, Service6
и Service7
определены на третьем уровне иерархии, наследуя элементы по умолчанию от Service3
. Наконец, Service10
и Service11
находятся на четвертом уровне иерархии.
Все службы реализуют контракт IDesc
. Далее приведено определение интерфейса IDesc
, показывающее методы, доступ к которым имеется в этом интерфейсе. Интерфейс IDesc
определен в файле Service1.cs.
// Define a service contract
[ServiceContract(Namespace="http://Microsoft.Samples.ConfigHierarchicalModel")]
public interface IDesc
{
[OperationContract]
List<string> ListEndpoints();
[OperationContract]
List<string> ListServiceBehaviors();
[OperationContract]
List<string> ListEndpointBehaviors();
}
Реализация службами этих методов является простой. ListEndpoints
проходит по всем конечным точкам службы и возвращает список всех конечных точек, которые имеет служба. ListServiceBehaviors
проходит по всем поведениям, добавленным в службу, и возвращает список всех поведений службы, связанных с этой службой. ListEndpointBehaviors
работает так же, как ListServiceBehaviors
, за исключением того, что он возвращает список поведений конечных точек.
Благодаря этой реализации клиент знает, сколько конечных точек имеет служба, а также какие поведения службы и конечной точки добавлены в службу. Клиент, реализованный как часть образца, добавляет ссылку на службу во все службы решения и показывает эти элементы для всех служб.
Использование этого образца
Запуск клиента
Откройте файл ConfigHierarchicalModel.sln с помощью Visual Studio 2010.
Проект клиента еще не установлен в качестве запускаемого проекта; выполните следующие действия.
В Обозревателе решений щелкните правой кнопкой мыши решение и выберите команду Свойства.
В разделе Общие свойства выберите Запускаемый проект, затем Один запускаемый проект.
В раскрывающемся списке Один запускаемый проект выберите Client.
Нажмите кнопку ОК, чтобы закрыть диалоговое окно.
Нажмите клавишу F6, чтобы построить образец.
Нажмите клавиши Ctrl + F5, чтобы запустить клиент.
Примечание |
---|
Если эти действия не дают результата, то проверьте правильность настройки среды, выполнив следующие действия.
|
Примечание |
---|
Образцы уже могут быть установлены на компьютере. Перед продолжением проверьте следующий каталог (по умолчанию).
<диск_установки>:\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\ConfigHierarchicalModel
|