- •Практическое руководство по программной реализации wcf-служб
- •Как определить контракт службы WindowsCommunicationFoundation
- •Как реализовать контракт службы WindowsCommunicationFoundation
- •Реализация контракта службы wcf
- •Как размещать и запускать базовую службу WindowsCommunicationFoundation
- •Создание консольного приложения для размещения службы.
- •Как создать клиент Windows Communication Foundation
- •Создание клиента Windows Communication Foundation
- •Как настроить базовый клиент Windows Communication Foundation
- •Настройка клиента Windows Communication Foundation
- •Как использовать клиент Windows Communication Foundation
- •Использование клиента Windows Communication Foundation
- •Настройка служб с использованием файлов конфигурации
- •Основные разделы файла конфигурации
- •Практическое руководство. Конфигурации привязок и поведения
- •Слияние поведений
- •Как разместить службу wcf в iis
- •Создание службы, размещенной в iis
- •Служебное средство ServiceModel Metadata Utility Tool (Svcutil.Exe)
- •Функциональные возможности
- •Время ожидания
- •Настройка для различных версий
- •Доступ к документам wsdl
- •Использование программы SvcUtil.Exe
- •Типичные способы использования
- •Создание кода
- •Экспорт метаданных
- •Проверка службы
- •Загрузка метаданных
- •Создание типа XmlSerializer
- •Примеры
- •Максимальная квота на количество символов в таблице имен.
- •Вопросы безопасности
Основные разделы файла конфигурации
Основные разделы файла конфигурации включают в себя следующие элементы.
Копировать
<system.ServiceModel>
<services>
<!—- Define the service endpoints. This section is optional in the new
default configuration model in .NET Framework 4. -->
<service>
<endpoint/>
</service>
</services>
<bindings>
<!-- Specify one or more of the system-provided binding elements,
for example, <basicHttpBinding> -->
<!-- Alternatively, <customBinding> elements. -->
<binding>
<!-- For example, a <BasicHttpBinding> element. -->
</binding>
</bindings>
<behaviors>
<!-- One or more of the system-provided or custom behavior elements. -->
<behavior>
<!-- For example, a <throttling> element. -->
</behavior>
</behaviors>
</system.ServiceModel>
Примечание |
Разделы привязок и поведения являются необязательными и указываются только при необходимости. |
Элемент <services>
Элемент services содержит спецификации для всех служб, которые размещает приложение.Начиная с упрощенной модели настройки в .NET Framework 4, этот раздел задавать необязательно.
<services>
Элемент <service>
Каждая служба имеет следующие атрибуты:
name .Определяет тип, обеспечивающий реализацию контракта службы.Это полное имя, состоящее из пространства имен, точки и имени типа,например
"MyNameSpace.myServiceType"
.behaviorConfiguration .Задает имя одного из элементов behavior, найденных в behaviors.Заданное поведение управляет действиями, например, разрешает ли служба олицетворение.Если значением является пустое имя, или объект behaviorConfiguration не указан, то в службу добавляется набор поведений службы по умолчанию.
<service>
Элемент <endpoint>
Для каждой конечной точки требуется адрес, привязка и контракт, представленные следующими атрибутами:
address .Задает универсальный код ресурса (URI) службы, который может быть абсолютным адресом или адресом, указанным относительно базового адреса службы.Если задана пустая строка, это означает, что конечная точка доступна по базовому адресу, который указывается при создании ServiceHostдля службы.
binding .Как правило, задает предоставляемую системой привязку типа WsHttpBinding, но также может задавать определяемую пользователем привязку.Заданная привязка определяет используемый тип транспорта, безопасности и кодирования, а также поддерживаются ли или включены ли надежные сеансы, транзакции или потоковая передача.
bindingConfiguration .Если требуется изменить значения привязки по умолчанию, можно настроить соответствующий элемент binding в элементе bindings.Этому атрибуту должно быть присвоено то же значение, что и атрибуту name элемента binding, который используется для изменения значений по умолчанию.Если имя не задано, или в привязке не задан объект bindingConfiguration, то в конечной точке используется привязка по умолчанию типа привязки.
contract .Задает интерфейс, определяющий контракт.Это интерфейс, реализованный в типе CLR, который задан атрибутом name элемента service.
<endpoint> element reference
Элемент <bindings>
Элемент bindings содержит спецификации для всех привязок, которые могут использоваться любой конечной точкой, заданной в любой службе.
<bindings>
Элемент <binding>
Элементы binding, содержащиеся в элементе bindings, могут являться либо одной из предоставленных системой привязок (см. в разделе Привязки, предоставляемые системой), либо пользовательской привязкой (см. в разделеПользовательские привязки).Элемент binding имеет атрибут name, сопоставляющий привязку с конечной точкой, заданной в атрибуте bindingConfiguration элемента endpoint.Если имя не указано, то привязка будет соответствовать значению по умолчанию для этого типа привязки.
Дополнительные сведения о настройке служб и клиентов см. в разделе Configuring Windows Communication Foundation Applications.
<binding>
Элемент <behaviors>
Это элемент контейнера для элементов behavior, задающих поведение службы.
<behaviors>
Элемент <behavior>
Каждый элемент behavior определяется атрибутом name и содержит либо предоставляемое системой поведение (например, <throttling>), либо пользовательское поведение.Если имя не задано, то элемент behavior будет соответствовать поведению по умолчанию для службы или конечной точки.
<behavior> для <serviceBehaviors>