
- •ВВЕДЕНИЕ
- •1. АРХИТЕКТУРА ПРИЛОЖЕНИЙ WCF
- •1.1. Основы WCF
- •1.2. Конечные точки
- •1.3. Контракты
- •1.4. Атрибуты
- •2. РАЗРАБОТКА WCF ПРИЛОЖЕНИЯ
- •2.1. Создание проекта
- •2.2. Создание контракта
- •2.3. Реализация службы
- •2.4. Приложение службы
- •2.5. Конфигурация службы
- •2.6. Получение WSDL сервиса
- •2.7. Приложение клиента
- •ЗАКЛЮЧЕНИЕ
- •БИБЛИОГРАФИЧЕСКИЙ СПИСОК
10
1.4.Атрибуты
ВWCF атрибуты применяются ради упрощения и ускорения процесса написания служб. При определении контракта пишется класс, который делает нечто полезное, после чего он снабжается атрибутами WCF. Атрибут ServiceContract помечает класс, как контракт. В терминах языка WSDL ServiceContract определяет тип порта PortType. Атрибут OperationContract определяет методы класса, которые можно вызывать через интерфейс службы. Одновременно он определяет, какие сообщения можно передать этим методам и получить от них.
Атрибут ServiceContract.
Чтобы интерфейс CLR участвовал в службах, предоставленных WCF, он должен быть оснащен атрибутом ServiceContract. Подобно многим другим атрибутам .NET, тип ServiceContractAttribute поддерживает набор свойств для дальнейшего прояснения его назначения. Два свойства – Name и NameSpace – могут быть установлены для управления именем типа службы и именем пространства имен XML, определяющим тип службы. Если используется привязка, специфичная для веб-служб, эти значения применяются для определения элементов <portType> связанного документа WSDL.
Свойство |
Назначение |
|
|
|
|
CallbackContract |
Устанавливает функциональность обратного вызова для дву- |
|
стороннего обмена сообщениями. |
||
|
||
|
|
|
|
Это имя используется для нахождения элемента службы в |
|
ConfigurationName |
конфигурационном файле приложения. По умолчанию пред- |
|
|
ставляет собой имя класса, реализующего службу. |
|
|
Позволяет указать степень, до которой привязка контракта |
|
ProtectionLevel |
требует шифрования, цифровых подписей или того и другого |
|
|
для конечных точек, представленных контрактом. |
|
SessionMode |
Используется для установки разрешения сеанса, запрета сеан- |
|
са или обязательности сеанса для данного контракта службы. |
||
|
||
|
|
Таблица 1.1. Назначения свойств атрибута ServiceContract.
11
Атрибут OperationContract.
Методы, которые планируется использовать внутри WCF, должны быть оснащены атрибутом OperationContract, который также может быть сконфигурирован с помощью различных именованных свойств.
Свойство |
Назначение |
|
|
|
|
|
Указывает, реализована ли операция асинхронно с использо- |
|
AsyncPattern |
ванием пары методов Begin/End службы. Это позволяет служ- |
|
|
бе передавать обработку другому потоку серверной стороны. |
|
IsInitiating |
Указывает, может ли операция быть начальной операцией |
|
сеанса |
||
|
||
|
|
|
IsOneWay |
Указывает, состоит ли операция только из одного входного |
|
сообщения (без какого-либо ассоциированного вывода) |
||
|
||
|
|
|
IsTerminating |
Указывает, должна ли исполняющая среда WCF пытаться за- |
|
вершить текущий сеанс после выполнения операции |
||
|
||
|
|
Таблица 1.2. Назначения свойств атрибута OperationContract.