Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
На следующем рисунке показаны основные слои архитектуры Windows Communication Foundation (WCF).
Архитектура WCF
Контракты и описания
Контракты определяют различные аспекты системы сообщений. Контракт данных описывает каждый параметр, составляющий каждое сообщение, которое служба может создавать или использовать. Параметры сообщения определяются документами языка определения схемы XML (XSD), что позволяет любой системе, которая понимает XML для обработки документов. Контракт сообщения определяет определенные части сообщения с помощью протоколов SOAP и обеспечивает более детальное управление частями сообщения, когда взаимодействие требует такой точности. Контракт службы указывает фактические подписи методов службы и распространяется как интерфейс на одном из поддерживаемых языков программирования, таких как Visual Basic или Visual C#.
Политики и привязки определяют условия, необходимые для взаимодействия со службой. Например, привязка должна (как минимум) указать используемый транспорт (например, HTTP или TCP) и кодировку. Политики включают требования к безопасности и другие условия, которые должны соответствовать для взаимодействия со службой.
Среда выполнения сервисов
Уровень среды выполнения службы содержит поведение, которое происходит только во время фактической операции службы, то есть поведения среды выполнения службы. Ограничение пропускной способности определяет, сколько сообщений обрабатывается, что можно изменить, если спрос на услугу возрастает до предустановленного ограничения. Поведение при ошибке определяет, что происходит в случае внутренней ошибки в службе, например, управление информацией, передаваемой клиенту. (Слишком много информации может дать злоумышленнику преимущество при подключении атаки.) Поведение метаданных определяет способ и доступность метаданных для внешнего мира. Поведение экземпляра указывает, сколько экземпляров службы можно запускать (например, одинтон указывает только один экземпляр для обработки всех сообщений). Поведение транзакций позволяет выполнить откат транзакционных операций, если произойдет сбой. Управление диспетчеризацией — это контроль процесса обработки сообщения инфраструктурой WCF.
Расширяемость позволяет настраивать процессы выполнения. Например, проверка сообщений — это средство для проверки частей сообщения, а фильтрация параметров позволяет выполнять предустановленные действия на основе фильтров, действующих на заголовках сообщений.
Обмен сообщениями
Уровень обмена сообщениями состоит из каналов. Канал — это компонент, который обрабатывает сообщение каким-то образом, например путем проверки подлинности сообщения. Набор каналов также называется стеком каналов. Каналы действуют на основе сообщений и заголовков сообщений. Это отличается от уровня среды выполнения службы, который в первую очередь обеспокоен обработкой содержимого тел сообщений.
Существует два типа каналов: транспортные каналы и каналы протокола.
Каналы транспорта считывают и записывают сообщения из сети (или другую точку связи с внешним миром). Некоторые транспорты используют кодировщик для преобразования сообщений (которые представляются как наборы сведений XML) в представление потока байтов, используемого сетью. Примерами транспорта являются HTTP, именованные каналы, TCP и MSMQ. Примерами кодировки являются XML и оптимизированные двоичные файлы.
Каналы протокола реализуют протоколы обработки сообщений, часто считывая или записывая дополнительные заголовки в сообщение. Примеры таких протоколов включают WS-Security и WS-Reliability.
Уровень обмена сообщениями иллюстрирует возможные форматы и шаблоны обмена данными. WS-Security — это реализация спецификации WS-Security, позволяющей обеспечить безопасность на уровне сообщений. Канал обмена сообщениями WS-Reliable обеспечивает гарантию доставки сообщений. Кодировщики представляют различные кодировки, которые можно использовать для удовлетворения потребностей сообщения. Канал HTTP указывает, что для доставки сообщений используется протокол транспорта HyperText. Tcp-канал точно так же указывает протокол TCP. Канал потока транзакций управляет шаблонами транзакций. Именованный канал позволяет взаимодействие между процессами. Канал MSMQ позволяет взаимодействовать с приложениями MSMQ.
Размещение и активация
В окончательной форме служба — это программа. Как и другие программы, служба должна выполняться в исполняемом файле. Это называется самостоятельно размещаемой службой.
Службы также могут размещаться или запускаться в исполняемом файле, управляемом внешним агентом, например службами IIS или службой активации Windows (WAS). Система WAS позволяет автоматически активировать приложения WCF при их развертывании на компьютере с активированной службой WAS. Службы также можно запускать вручную в виде исполняемых файлов (.exe файлы). Кроме того, служба может выполняться автоматически в качестве службы Windows. Компоненты COM+ также можно размещать как службы WCF.