Глоссарий Windows Communication Foundation для .NET Framework 4.5Windows Communication Foundation Glossary for .NET Framework 4.5

Для документации по Windows Communication Foundation определяются следующие термины.The following terms are defined for Windows Communication Foundation documentation.

ТерминыTerms

ТерминTerm ОпределениеDefinition
адресaddress Задает расположение, где принимаются сообщения.Specifies the location where messages are received. Он задается в виде универсального кода ресурса (URI).It is specified as a Uniform Resource Identifier (URI). Часть URI, определяющая схему, задает транспортный механизм для доставки по адресу, например HTTP и TCP.The URI schema part names the transport mechanism to use to reach the address, such as HTTP and TCP. Иерархическая часть URI содержит уникальное расположение, формат которого зависит от транспортного механизма.The hierarchical part of the URI contains a unique location whose format is dependent on the transport mechanism.
конечная точка приложенияapplication endpoint Конечная точка, предоставляемая приложением и соответствующая контракту службы, реализуемому приложением.An endpoint exposed by the application and that corresponds to a service contract implemented by the application.
поведениеbehavior Расширение функциональности представляет собой компонент, управляющий различными аспектами работы службы, конечной точки, определенной операции или клиента во время выполнения.A behavior is a component that controls various run-time aspects of a service, an endpoint, a particular operation, or a client. Расширения функциональности группируются в соответствии с областью действия: общие расширения функциональности влияют глобально на все конечные точки, расширения функциональности служб влияют только на аспекты, относящиеся к службам, расширения функциональности конечных точек влияют только на свойства, относящиеся к конечным точкам, а расширения функциональности уровня операции влияют только на конкретные операции.Behaviors are grouped according to scope: common behaviors affect all endpoints globally, service behaviors affect only service-related aspects, endpoint behaviors affect only endpoint-related properties, and operation-level behaviors affect particular operations.
привязкаbinding Определяет, какие протоколы связи используются для обмена данными со службами WCF.Defines which communication protocols are used to communicate with WCF services. Привязка состоит из набора компонентов, называемых элементами привязки, которые располагаются друг над другом, образуя инфраструктуру связи.It is constructed of a set of components called binding elements that stack one on top of the other to create the communication infrastructure. См. термин «конечная точка».See endpoint.
каналchannel Конкретная реализация элемента привязки.A concrete implementation of a binding element. Привязка представляет собой конфигурацию, а канал является реализацией, связанной с этой конфигурацией.The binding represents the configuration, and the channel is the implementation associated with that configuration. Следовательно, с каждым элементом привязки связан канал.Therefore, there is a channel associated with each binding element. Каналы, собранные в стек друг на другом, образуют конкретную реализацию привязки: стек каналов.Channels stack on top of each other to create the concrete implementation of the binding: the channel stack.
безопасность на основе утвержденийclaims-based security Организует санкционированный доступ к защищенным ресурсам на основе утверждений.Allows authorized access to protected resources based on claims.
клиентское приложениеclient application Клиентское приложение — это программа, обменивающаяся сообщениями с одной или несколькими конечными точками.A client application is a program that exchanges messages with one or more endpoints. Клиентское приложение начинает работу с создания экземпляра клиента WCF и вызывает методы этого клиента WCF.The client application begins by creating an instance of a WCF client and calling methods of the WCF client. Обратите внимание, что одно и то же приложение может быть как клиентом, так и службой.It is important to note that a single application can be both a client and a service.
кодировкаcoding Позволяет разработчику сохранить полный контроль над всеми компонентами службы или клиента; все настройки, выполненные с помощью конфигурации, можно проверить и, при необходимости, изменить с помощью кода.Allows the developer to retain strict control over all components of the service or client, and any settings done through the configuration can be inspected and if needed overridden by the code. Управление приложением возможно с помощью кода, с помощью конфигурации или с помощью и того, и другого.Control of an application can be done either through coding, through configuration, or through a combination of both.
конфигурацияconfiguration Преимущество конфигурации заключается в том, что после написания кода параметры клиента или службы могут задаваться пользователями (например, системным администратором), а не только разработчиком, при этом отсутствует необходимость в повторной компиляции.Configuration has the advantage of allowing someone other than the developer (for example, a network administrator) to set client and service parameters after the code is written and without having to recompile. Конфигурация не только позволяет задавать значения, такие как адреса конечных точек, но и обеспечивает дополнительные возможности управления, позволяя добавлять конечные точки, привязки и расширения функциональности.Configuration not only enables you to set values like endpoint addresses, but also allows further control by enabling you to add endpoints, bindings, and behaviors. Управление приложением возможно с помощью конфигурации, с помощью кода или с помощью и того, и другого.Control of an application can be done either through configuration, through coding, or through a combination of both.
контрактcontract Контракт представляет собой спецификацию поддержки для определенного типа контракта.A contract is a specification of support for the particular type of contract that it is. Например, контракт службы представляет собой спецификацию для группы операций.A service contract, for example, is a specification for a group of operations. В WCF контракты имеют иерархию, которая отражается в описании объектов, находящихся в пространстве имен System.ServiceModel.Description.In WCF, contracts have a hierarchy that is mirrored in the description objects located in the System.ServiceModel.Description namespace. Контракт службы - это самая большая область контрактов в WCF.A service contract is the largest contract scope in WCF. Для каждой операции службы в контракте службы предусмотрен контракт операции, задающий сообщения (включая сообщения об ошибках), которыми может обмениваться операция, а также направление передачи этих сообщений.Each service operation in a service contract has an operation contract, which specifies the messages -- including fault messages -- the operation can exchange, and in which direction. У каждого сообщения в операции имеется контракт сообщения - спецификация структуры конверта сообщений SOAP, а в каждом контракте сообщения имеется контракт данных, задающий структуры данных, содержащихся в сообщении.Each message in an operation has a message contract, a specification for the structure of the SOAP message envelope, and each message contract has a data contract, which specifies the data structures contained in the messages.
контракт данныхdata contract Типы данных, используемых службой, должны быть описаны в метаданных для обеспечения возможности взаимодействия с этой службой.The data types a service uses must be described in metadata to enable others to interoperate with the service. Описания типов данных называются контрактом данных, и эти типы могут использоваться в любой части сообщения, например в качестве параметров или возвращаемых типов.The descriptions of the data types are known as the data contract, and the types can be used in any part of a message, for example, as parameters or return types. Если в службе используются только простые типы, явное использование контрактов данных не требуется.If the service is using only simple types, there is no need to explicitly use data contracts.
декларативное приложениеdeclarative application Приложение, которое описано в достаточной мере, чтобы создать его во время выполнения, не выполняя императивные инструкции.An application that is described sufficiently to be created at runtime without running imperative instructions.
конечная точкаendpoint Состоит из адреса, привязки и контракта, используемого для связи со службой WCF.Consists of an address, a binding, and a contract used for communicating with a WCF service.
адрес конечной точкиendpoint address Позволяет создавать уникальные адреса для каждой конечной точки в службе или при определенных условиях использовать один адрес для нескольких конечных точек.Enables you to create unique endpoint addresses for each endpoint in a service, or under certain conditions share an address across endpoints.
контракт сбояfault contract Контракт сбоя может быть связан с операцией службы для обозначения ошибок, которые могут возвращаться вызывающему объекту.A fault contract can be associated with a service operation to denote errors that can be returned to the caller. С операцией могут быть связаны ноль или более сбоев.An operation can have zero or more faults associated with it. Эти ошибки представляют собой сбои протокола SOAP, которые моделируются в модели программирования как исключения.These errors are SOAP faults that are modeled as exceptions in the programming model. Исключение преобразуется в сбой протокола SOAP, который затем может передаваться клиенту.The exception is converted into a SOAP fault that can then be sent to the client.
размещениеhosting Служба должна быть размещена в некотором процессе.A service must be hosted in some process. Ведущее приложение - это приложение, контролирующее время существования службы.A host is an application that controls the lifetime of the service. Службы могут быть резидентными (размещенными сами в себе) или управляемыми существующим ведущим процессом.Services can be self-hosted or managed by an existing hosting process.
ведущий процессhosting process Ведущий процесс — это приложение, предназначенное для размещения служб.A hosting process is an application that is designed to host services. В число таких приложений входят службы IIS, службы активации Windows (WAS) и службы Windows.These include Internet Information Services (IIS), Windows Activation Services (WAS), and Windows Services. В этих сценариях ведущее приложение контролирует время существования службы.In these hosted scenarios, the host controls the lifetime of the service. Например, с помощью IIS можно создать виртуальный каталог, содержащий сборку службы и файл конфигурации.For example, using IIS you can set up a virtual directory that contains the service assembly and configuration file. При получении сообщения IIS запускает службу и контролирует время ее существования.When a message is received, IIS starts the service and controls its lifetime.
инициирующая операцияinitiating operation Операция, которая вызывается как первая операция нового сеанса.An operation that is called as the first operation of a new session. Неинициирующие операции могут вызываться только после вызова по крайней мере одной инициирующей операции.Non-initiating operations can be called only after at least one initiating operation has been called.
модель создания экземпляровinstancing model Со службой связана модель создания экземпляров.A service has an instancing model. Существуют три модели создания экземпляров: "единый," в которой один объект CLR обслуживает всех клиентов. "по вызовам" в котором создается новый объект CLR для обработки каждого клиентского вызова; и "за сеанс," в котором набор объектов CLR создаются — по одному на каждый отдельный сеанс.There are three instancing models: "single," in which a single CLR object services all the clients; "per call," in which a new CLR object is created to handle each client call; and "per session," in which a set of CLR objects are created, one for each separate session. Выбор модели создания экземпляров зависит от требований к приложению и ожидаемого режима использования службы.The choice of an instancing model depends on the application requirements and the expected usage pattern of the service.
сообщениеmessage Сообщение представляет собой замкнутую единицу данных, которая может состоять из нескольких частей, включая тело и заголовки.A message is a self-contained unit of data that may consist of several parts, including a body and headers.
контракт сообщенияmessage contract Контракт сообщения описывает его формат.A message contract describes the format of a message. Например, в нем описывается, должны элементы сообщения размещаться в заголовках или в теле, уровень безопасности, применяемый к определенным элементам сообщения и т. д.For example, it declares whether message elements should go in headers versus the body, what level of security should be applied to what elements of the message, and so on.
режим безопасности сообщенияmessage security mode Режим безопасности сообщения задает, что безопасность обеспечивается путем реализации одной или нескольких спецификаций безопасности.Message security mode specifies that security is provided by implementing one or more of the security specifications. Каждое сообщение содержит необходимые механизмы, обеспечивающие безопасность во время его передачи и позволяющие получателям обнаруживать подделки и расшифровывать сообщения.Each message contains the necessary mechanisms to provide security during its transit, and to enable the receivers to detect tampering and to decrypt the messages. В этом отношении безопасность заложена внутри каждого сообщения, обеспечивая сквозную безопасность по всем участкам передачи.In this sense, the security is encapsulated within every message, providing end-to-end security across multiple hops. Поскольку информация безопасности становится частью сообщения, в сообщение можно также включить несколько типов учетных данных (называемых утверждениями).Because security information becomes part of the message, it is also possible to include multiple kinds of credentials with the message (these are referred to as claims). Дополнительным преимуществом такого подхода является возможность безопасной передачи сообщения с помощью любого транспортного механизма, включая несколько транспортных механизмов между источником и назначением.This approach also has the advantage of enabling the message to travel securely over any transport, including multiple transports between its origin and destination. К недостатком этого подхода относится сложность используемых криптографических механизмов, требовательных к производительности.The disadvantage of this approach is the complexity of the cryptographic mechanisms employed, resulting in performance implications.
метаданныеmetadata Метаданные службы описывают характеристики службы, которые необходимо знать внешней сущности для связи со службой.The metadata of a service describes the characteristics of the service that an external entity needs to understand to communicate with the service. Метаданные могут считываться служебным средством ServiceModel Metadata Utility Tool (Svcutil.exe) для создания клиента WCF и сопутствующей конфигурации, которые могут использоваться клиентским приложением для взаимодействия со службой.Metadata can be consumed by the ServiceModel Metadata Utility Tool (Svcutil.exe) to generate a WCF client and accompanying configuration that a client application can use to interact with the service. Метаданные, предоставляемые службой, содержат документы схемы XML, определяющие контракт данных службы, и документы WSDL, описывающие методы службы.The metadata exposed by the service includes XML schema documents, which define the data contract of the service, and WSDL documents, which describe the methods of the service. Если метаданные для службы включены, они автоматически создаются WCF путем проверки службы и ее конечных точек.When enabled, metadata for the service is automatically generated by WCF by inspecting the service and its endpoints. Для публикации метаданных службы необходимо явно задать расширение функциональности метаданных.To publish metadata from a service, you must explicitly enable the metadata behavior.
контракт операцииoperation contract Контракт операции определяет параметры операции и тип возвращаемых ею значений.An operation contract defines the parameters and return type of an operation. При создании интерфейса, определяющего контракт службы, контракт операции задается путем применения атрибута T:System.ServiceModel.OperationContractAttribute к определению каждого метода, входящего в контракт.When creating an interface that defines the service contract, you signify an operation contract by applying the T:System.ServiceModel.OperationContractAttribute attribute to each method definition that is part of the contract. Операции могут задаваться как получающие одно сообщение и возвращающие одно сообщение или как получающие набор типов и возвращающие тип.The operations can be modeled as taking a single message and returning a single message, or as taking a set of types and returning a type. В последнем случае формат сообщений, обмен которыми происходит при выполнении данной операции, определяется системой.In the latter case, the system determines the format for the messages that are exchanged for that operation.
проекцияprojection Представление данных во время передачи.The representation of data on the wire. Например, проекция SOAP отправляет сообщения в виде конвертов SOAP, а веб-проекция отправляет сообщения в формате JSON.For example, a SOAP projection sends messages as SOAP envelopes and a Web projection sends messages in JSON format.
безопасностьsecurity Безопасность в WCF включает в себя конфиденциальность (шифрование сообщение во избежание их подслушивания), целостность (средства обнаружения подделки сообщения), проверку подлинности (средства проверки серверов и клиентов) и авторизацию (управление доступом к ресурсам).Security in WCF includes confidentiality (encryption of messages to prevent eavesdropping), integrity (the means for detection of tampering with the message), authentication (the means for validation of servers and clients), and authorization (the control of access to resources). Эти функции предоставляются либо путем использования существующих механизмов обеспечения безопасности, таких как TLS по HTTP (также называемого HTTPS), либо путем реализации одной или нескольких различных спецификаций безопасности WS-*.These functions are provided by either leveraging existing security mechanisms, such as TLS over HTTP (also known as HTTPS), or by implementing one or more of the various WS-* security specifications.
резидентная службаself-hosted service Под резидентной понимается служба, которая выполняется в приложении-процессе, созданном разработчиком.A self-hosted service is one that runs within a process application that the developer created. Разработчик контролирует время существования службы, набор свойств службы, открывает службу (при этом служба переходит в режим ожидания данных) и закрывает службу.The developer controls its lifetime, sets the properties of the service, opens the service (which sets it into a listening mode), and closes the service.
службаservice Программа или процесс, предоставляющие доступ к одной или нескольким конечным точкам, каждая из которых предоставляет доступ к одой или нескольким операциям.A program or process that exposes one or more endpoints, with each endpoint exposing one or more operations.
контракт службыservice contract Контракт службы объединяет несколько связанных операций в один функциональный модуль.The service contract ties together multiple related operations into a single functional unit. Контракт может определять параметры уровня службы, такие как пространство имен службы, соответствующий контракт обратного вызова и другие подобные параметры.The contract can define service-level settings, such as the namespace of the service, a corresponding callback contract, and other such settings. В большинстве случаев контракт задается путем создания интерфейса на выбранном языке программирования и применения атрибута T:System.ServiceModel.ServiceContractAttribute к этому интерфейсу.In most cases, the contract is defined by creating an interface in the programming language of your choice and applying the T:System.ServiceModel.ServiceContractAttribute attribute to the interface. Фактический код службы создается при реализации этого интерфейса.The actual service code results by implementing the interface.
операция службыservice operation Под операцией службы понимается процедура, определенная в программном коде службы и реализующая функциональность операции.A service operation is a procedure defined in a service's code that implements the functionality for an operation. Эта операция видима клиентам в виде методов клиента WCF.This operation is exposed to clients as methods on a WCF client. Метод может возвращать значение и может иметь ряд необязательных аргументов, либо может не иметь аргументов и не возвращать никаких значений.The method may return a value, and may take an optional number of arguments, or take no arguments, and return no response. Например, операция, выполняющая "Hello" можно использовать в качестве уведомления о наличии клиента и запуска серии операций.For example, an operation that functions as a "Hello" can be used as a notification of a client's presence and to begin a series of operations.
привязки, предоставляемые системойsystem-provided bindings WCF содержит ряд привязок, предоставляемых системой.WCF includes a number of system-provided bindings. Они являются коллекциями элементов привязки, оптимизированными для конкретных сценариев.These are collections of binding elements that are optimized for specific scenarios. Например, привязка T:System.ServiceModel.WSHttpBinding предназначена для работы со службами, реализующими различные спецификации WS-*.For example, the T:System.ServiceModel.WSHttpBinding is designed for interoperability with services that implement various WS-* specifications. Эти привязки экономят время, предоставляя только те параметры, которые могут быть правильно применены для конкретных сценариев.These bindings save time by presenting only those options that can be correctly applied to the specific scenario. Если какая-то из этих привязок не удовлетворяет вашим требованиям, можно создать собственную настраиваемую привязку.If one of these bindings does not meet your requirements, you can create your own custom binding.
завершающая операцияterminating operation Операция, которая вызывается как последняя операция существующего сеанса.An operation that is called as the last message in an existing session. В случае по умолчанию WCF повторно использует объект службы и его контекст после закрытия сеанса, с которым была связана эта служба.In the default case, WCF recycles the service object and its context after the session with which the service was associated is closed.
режим безопасности транспортаtransport security mode Безопасность может обеспечиваться одним из трех режимов: режимом транспорта, режимом безопасности сообщения и режимом транспорта с учетными данными сообщения.Security can be provided by one of three modes: transport mode, message security mode, and transport with message credential mode. Режим безопасности транспорта задает, что конфиденциальность, целостность и проверка подлинности предоставляются механизмами транспортного уровня (такими как HTTPS).The transport security mode specifies that confidentiality, integrity, and authentication are provided by the transport layer mechanisms (such as HTTPS). При использовании такого транспорта, как HTTPS, преимущества этого режима заключаются в его эффективной производительности и хорошей известности в связи с преобладающим применением в Интернете.When using a transport like HTTPS, this mode has the advantage of being efficient in its performance, and well understood because of its prevalence on the Internet. Недостатком является то, что безопасность этого типа применяется отдельно на каждом прыжке пути передачи, в результате чего связь подвержена "злоумышленник в середине" атаки.The disadvantage is that this kind of security is applied separately on each hop in the communication path, making the communication susceptible to a "man in the middle" attack.
режим безопасности транспорта с учетными данными сообщенияtransport with message credential security mode В этом режиме для обеспечения конфиденциальности, проверки подлинности и целостности сообщений используется транспортный уровень, но каждое сообщение может содержать несколько учетных данных (утверждений), требуемых получателями сообщения.This mode uses the transport layer to provide confidentiality, authentication, and integrity of the messages, while each of the messages can contain multiple credentials (claims) required by the receivers of the message.
преобразователь типовtype converter Тип CLR можно связать с одним или несколькими типами, производными от System.ComponentModel.TypeConverter, которые позволяют преобразовывать экземпляры типа CLR в объекты других типов и обратно.A CLR type can be associated with one or more System.ComponentModel.TypeConverter derived types that enable converting instances of the CLR type to and from instances of other types. Преобразователь типов, связанный с типом CLR посредством атрибута System.ComponentModel.TypeConverterAttribute.A type converter is associated with a CLR type using the System.ComponentModel.TypeConverterAttribute attribute. Атрибут TypeConverterAttribute можно указывать непосредственно в типе CLR или в свойстве.A TypeConverterAttribute can be specified directly on the CLR type or on a property. Преобразователь типов, указанный в свойстве, всегда имеет приоритет над преобразователем типов, указанным в типе CLR этого свойства.A type converter specified on a property always takes precedence over a type converter specified on the CLR type of the property.
клиент WCFWCF client Клиент WCF представляет собой конструкцию клиент-приложение, предоставляющую операции службы в виде методов (на выбранном вами языке программирования платформы .NET Framework, например Visual Basic или Visual C#).A WCF client is a client-application construct that exposes the service operations as methods (in the .NET Framework programming language of your choice, such as Visual Basic or Visual C#). Каждое приложение может содержать клиента WCF, включая приложение, содержащее службу.Any application can host a WCF client, including an application that hosts a service. Следовательно, можно создать службу, содержащую клиентов WCF других служб.Therefore, it is possible to create a service that includes WCF clients of other services. Клиент WCF может быть создан автоматически путем использования служебного средства ServiceModel Metadata Utility Tool (Svcutil.exe) и нацеливания его на работающую службу, публикующую метаданные.A WCF client can be automatically generated by using the ServiceModel Metadata Utility Tool (Svcutil.exe) and pointing it at a running service that publishes metadata.
службы рабочего процессаworkflow services Служба рабочего процесса - это служба WCF, реализуемая в виде рабочего процесса.A workflow service is a WCF service that is implemented as a workflow. Рабочий процесс содержит действия обмена сообщениями, отправляющие и/или получающие сообщения WCF.The workflow contains messaging activities that send and/or receive WCF messages.
WS-*WS-* Сокращение для обозначения растущего набора спецификаций веб-служб (WS), таких как WS-Security, WS-ReliableMessaging и т. д., реализованных в WCF.Shorthand for the growing set of Web Service (WS) specifications, such as WS-Security, WS-ReliableMessaging, and so on, that are implemented in WCF.
XAMLXAML Язык XAMLeXtensible Application Markup Language
схема XAMLXAML schema Схема разметки, используемая для определения пользовательских типов в XAML.A markup schema used to define custom types in XAML.