Меню Рубрики

Библиотека windows communication foundation это

Consuming Web Services with WCF

Windows Communication Foundation

Windows Communication Foundation (WCF) – это унифицированная модель программирования распределенных приложений на платформе Microsoft. Она инкорпорирует предшествующие технологии – ASMX, .NET Remoting, DCOM и MSMQ – и предоставляет расширяемый API, отвечающий разнообразным требованиям, которые возникают при создании распределенных систем. До WCF вам приходилось овладевать всеми этими технологиями, чтобы выбрать ту, которая лучше всего подходит в конкретной ситуации. WCF упрощает задачу, предлагая единообразный подход.

В современных распределенных приложениях чаще всего применяются Web -службы на основе XML . С их помощью реализуются разнообразные технические и бизнес функции, как в закрытых, так и в открытых сетях. Иногда при этом используется спецификация SOAP , иногда – нет. Обычно информация передается в виде текстовых документов, размеченных с помощью тегов в угловых скобках, но это необязательно. Как правило, в качестве транспортного протокола выбирается HTTP , но опять же не всегда. WCF – это каркас для работы с Web службами на основе XML , который совместим со многими другими технологиями.

Будучи всеобъемлющей системой работы со службами, WCF вводит терминологию, с которой вы должны быть знакомы. Термины не обязательно обозначают какие-то новые концепции, однако описывают согласованную систему понятий, которая необходима для обсуждения новой технологии.

В основе своей служба – это множество оконечных точек (endpoints), которые предоставляет клиентам некие полезные возможности. Оконечная точка – это просто сетевой ресурс , которому можно посылать сообщения. Чтобы воспользоваться предоставляемыми возможностями, клиент посылает сообщения оконечным точкам в формате, который описывается контрактом между клиентом и службой. Службы ожидают поступления сообщений на адрес оконечной точки, предполагая, что сообщения будут записаны в оговоренном формате. На рис. 23.1схематически представлено отношение между клиентом и службой.

Как показано на рис. 23.2, WCF служба может состоять из нескольких оконечных точек, каждая из которых описывается собственным адресом, привязкой и контрактом. Поскольку поток сообщений обычно двунаправленный, клиенты неявно также оказываются контейнерами оконечных точек.

Оконечная точка службы не может отвечать на сообщения, если служба не размещена в каком-нибудь работающем процессе операционной системы. Владельцем службы может быть любой процесс, например, работающее без присмотра человека серверное приложение , Web сервер и даже клиентская программа , представленная полноценным окном на экране ПК или значком в системном лотке Windows . Для служб можно определить поведения, управляющие степенью параллелизма, ограничением пропускной способности, транзакционной целостностью, безопасностью и другими семантическими аспектами. Поведения можно реализовать с помощью атрибутов .NET, путем манипулирования исполняющей средой WCF или в конфигурационных файлах. В сочетании с гибкой моделью размещения поведения заметно упрощают написание многопоточного кода.

Как показано на рис. 23.3, главная программа может создать экземпляр класса ServiceHost, который будет отвечать за создание оконечных точек службы.

Службы данных WCF (Silverlight)

Silverlight включает клиентскую библиотеку сред. Службы данных WCF, которая позволяет получить доступ к данным из любой службы, предоставляющей доступ к веб-каналу Open Data Protocol (OData). OData основывается на сущности и модели связи, которая позволяет получать доступ к данным в стиле ресурсов переноса репрезентативного состояния (REST). Приложения на базе Silverlight могут получить доступ к этим данным через стандартный протокол HTTP для выполнения запросов и даже для создания, обновления и удаления данных в службе данных.

Службы данных WCF, компонент .NET Framework, позволяет легко реализовывать службу данных для предоставления веб-канала OData в приложении .NET Framework. сред. Службы данных WCF поддерживает полный набор функциональных возможностей OData для обнаружения, создания запросов и обновления данных в службе данных.

Создание WCF сервиса

Всего имеется 4 шаблона, через которые можно реализовать веб-сервисы:

  • Silverlight-enabled WCF Service. Этот шаблон создает веб-службу, которая предоставляет данные клиенту Silverlight или внешнему интерфейсу. Шаблон может быть добавлен на веб-сайт или в проект веб-приложения для создания службы WCF, которая включает код и конфигурацию службы, поддерживающей взаимодействие с клиентом Silverlight.
  • AJAX — enabled WCF Service. Этот шаблон предоставляет элемент управления AJAX как службу WCF.
  • WCF Service Application. Это пользовательский шаблон, который предоставляет быстрый способ для добавления служб WCF в существующие проекты Visual Studio.
  • Web Service. Шаблон обычного веб-сервиса.

В Silverlight — приложение добавляется файл Silverlight-enabled WCF Service ( Рис 23.4). Файл будет иметь расширение svc.

В файле сгенерируется код. Атрибут [OperationContract] своего рода разделитель для методов в сервисе, при добавлении очередного метода, необходимо добавлять данный атрибут :

Поскольку режим совместимости ASP.NET подразумевает семантику обработки запросов, существенно отличающуюся от WCF по умолчанию, в реализации отдельных служб имеется возможность управления тем, выполняются ли они внутри приложения, для которого включен режим совместимости ASP . NET . Службы могут использовать атрибут AspNetCompatibilityRequirements для указания, поддерживают ли они режим совместимости ASP.NET.

Таблица 23.1. Взаимодействие параметра режима совместимости на уровне приложения с заданным уровнем поддержки отдельной службы

Параметр режима совместимости на уровне приложения [AspNetCompatibilityRequirementsMode] Параметр Полученный результат
aspNetCompatibilityEnabled = «true» Required Служба включается успешно.
aspNetCompatibilityEnabled = «true» Allowed Служба включается успешно.
aspNetCompatibilityEnabled = «true» NotAllowed При получении службой сообщения возникает ошибка активации.
aspNetCompatibilityEnabled = «false» Required При получении службой сообщения возникает ошибка активации.
aspNetCompatibilityEnabled = «false» Allowed Служба включается успешно.
aspNetCompatibilityEnabled = «false» NotAllowed Служба включается успешно.

В проекте Silverlight добавляем ссылку на сервис. В открывшемся окне (Рис 23.5) необходимо выбрать нужные сервисы. VS автоматически создаст ServiceReferences.ClientConfig , в котором находятся настройки привязки сервиса.

Файл Web .config, так же претерпит изменение:

Большинство методов в службах Windows Communication Foundation (WCF) может быть вызвано как синхронно, так и асинхронно. Асинхронный вызов метода позволяет приложению работать во время выполнения этого вызова через медленное соединение. Пример асинхронного вызова реализован во фрагменте кода:

При запуске приложения откроется окно браузера, где выполнится метод, который реализован в WCF сервисе ( Рис 23.6).

Источник

Службы Windows Communication Foundation и службы данных WCF в Visual Studio Windows Communication Foundation Services and WCF Data Services in Visual Studio

В Visual Studio имеются инструменты для работы с Windows Communication Foundation (WCF) и WCF Data Services, технологиями Майкрософт для создания распределенных приложений. Visual Studio provides tools for working with Windows Communication Foundation (WCF) and WCF Data Services, Microsoft technologies for creating distributed applications. В этом разделе представлены общие сведения о службах с точки зрения Visual Studio. This topic provides an introduction to services from a Visual Studio perspective. Полную документацию можно найти на странице WCF Data Services 4.5. For the full documentation, see WCF Data Services 4.5.

Что такое WCF What Is WCF?

Windows Communication Foundation (WCF) — это унифицированная платформа для создания безопасных, надежных, транзакционных и функционально совместимых распределенных приложений. Windows Communication Foundation (WCF) is a unified framework for creating secure, reliable, transacted, and interoperable distributed applications. Она пришла на смену старым технологиям межпроцессного взаимодействия, таким как веб-службы ASMX, .NET Remoting, Enterprise Services (DCOM) и MSMQ. It replaces older interprocess communication technologies such as ASMX web services, .NET Remoting, Enterprise Services (DCOM), and MSMQ. WCF объединяет функциональные возможности всех этих технологий в рамках единой модели программирования. WCF brings together the functionality of all those technologies under a unified programming model. Это упрощает разработку распределенных приложений. This simplifies the experience of developing distributed applications.

Что такое WCF Data Services What are WCF Data Services

WCF Data Services — это реализация стандарта Open Data Protocol (OData). WCF Data Services is an implementation of the Open Data (OData) Protocol standard. В WCF Data Services можно предоставлять табличные данные в виде набора REST API, что позволяет возвращать данные с помощью стандартных HTTP-команд, таких как GET, POST, PUT и DELETE. WCF Data Services lets you expose tabular data as a set of REST APIs, allowing you to return data using standard HTTP verbs such as GET, POST, PUT, or DELETE. На стороне сервера WCF Data Services заменяет веб-API ASP.NET для создания новых служб OData. On the server side, WCF Data Services are being superseded by ASP.NET Web API for creating new OData services. Клиентская библиотека WCF Data Services по-прежнему рекомендуется для использования служб OData в приложении .NET из Visual Studio (Проект > Добавить ссылку на службу). The WCF Data Services client library continues to be a good choice for consuming OData services in a .NET application from Visual Studio (Project > Add Service Reference). Дополнительные сведения см. в разделе Службы данных WCF 4.5. For more information, see WCF Data Services 4.5.

Модель программирования WCF WCF programming model

Модель программирования WCF построена на взаимодействии между двумя сущностями — службой WCF и клиентом WCF. The WCF programming model is based on communication between two entities: a WCF service and a WCF client. Модель программирования инкапсулирована в пространстве имен System.ServiceModel в .NET. The programming model is encapsulated in the System.ServiceModel namespace in .NET.

Служба WCF WCF Service

Служба WCF построена на интерфейсе, который определяет контракт между службой и клиентом. A WCF service is based on an interface that defines a contract between the service and the client. Он помечается атрибутом ServiceContractAttribute, как показано в следующем коде. It is marked with a ServiceContractAttribute attribute, as shown in the following code:

Вы определяете функции или методы, предоставляемые службой WCF, помечая их атрибутом OperationContractAttribute. You define functions or methods that are exposed by a WCF service by marking them with a OperationContractAttribute attribute.

Кроме того, вы можете предоставить сериализованные данные, пометив составной тип атрибутом DataContractAttribute. In addition, you can expose serialized data by marking a composite type with a DataContractAttribute attribute. Это позволяет выполнять привязку данных в клиенте. This enables data binding in a client.

После определения интерфейса и его методов они инкапсулируются в класс, реализующий интерфейс. After an interface and its methods are defined, they are encapsulated in a class that implements the interface. Один класс службы WCF может реализовывать несколько контрактов службы. A single WCF service class can implement multiple service contracts.

Служба WCF предоставляется для использования через так называемую конечную точку. A WCF service is exposed for consumption through what is known as an endpoint. Конечная точка обеспечивает единственный способ связи со службой; нельзя получить доступ к этой службе, используя прямую ссылку, как это делается с другими классами. The endpoint provides the only way to communicate with the service; you cannot access the service through a direct reference as you would with other classes.

Конечная точка состоит из адреса, привязки и контракта. An endpoint consists of an address, a binding, and a contract. Адрес определяет, где находится служба; это может быть URL-адрес, FTP-адрес, сетевой или локальный путь. The address defines where the service is located; this could be a URL, an FTP address, or a network or local path. Привязка определяет способ взаимодействия со службой. A binding defines the way that you communicate with the service. Привязки WCF предоставляют универсальную модель для указания протокола, такого как HTTP или FTP, механизма безопасности, такого как проверка подлинности Windows или имена и пароли пользователей, и многого другого. WCF bindings provide a versatile model for specifying a protocol such as HTTP or FTP, a security mechanism such as Windows Authentication or user names and passwords, and much more. Контракт включает операции, предоставляемые классом службы WCF. A contract includes the operations that are exposed by the WCF service class.

Для одной службы WCF могут предоставляться несколько конечных точек. Multiple endpoints can be exposed for a single WCF service. Это позволяет различным клиентам взаимодействовать с одной и той же службой разными способами. This enables different clients to communicate with the same service in different ways. Например, банковская служба может предоставлять одну конечную точку для сотрудников, а другую — для внешних клиентов. При этом каждая из конечных точек использует свой адрес, привязку и (или) контракт. For example, a banking service might provide one endpoint for employees and another for external customers, each using a different address, binding, and/or contract.

клиент WCF WCF client

Клиент WCF включает в себя прокси-сервер, который позволяет приложению взаимодействовать со службой WCF, и конечную точку, которая соответствует конечной точке, определенной для службы. A WCF client consists of a proxy that enables an application to communicate with a WCF service, and an endpoint that matches an endpoint defined for the service. Прокси-сервер создается на стороне клиента в файле app.config и содержит информацию о типах и методах, предоставляемых службой. The proxy is generated on the client side in the app.config file and includes information about the types and methods that are exposed by the service. Для служб, которые предоставляют несколько конечных точек, клиент может выбрать ту, которая лучше всего соответствует его потребностям, например для взаимодействия по протоколу HTTP и использования проверки подлинности Windows. For services that expose multiple endpoints, the client can select the one that best fits its needs, for example, to communicate over HTTP and use Windows Authentication.

После создания клиента WCF вы можете ссылаться на эту службу в своем коде так же, как на любой другой объект. After a WCF client has been created, you reference the service in your code just as you would any other object. Например, чтобы вызвать метод GetData , показанный ранее, вы должны написать код, похожий на следующий: For example, to call the GetData method shown earlier, you would write code that resembles the following:

Инструменты WCF в Visual Studio WCF tools in Visual Studio

Visual Studio предоставляет инструменты, которые помогут вам создавать как службы, так и клиенты WCF. Visual Studio provides tools to help you create both WCF services and WCF clients. Пошаговое руководство, демонстрирующее эти средства, см. в разделе Пошаговое руководство: создание простой службы WCF в Windows Forms. For a walkthrough that demonstrates the tools, see Walkthrough: Creating a simple WCF service in Windows Forms.

Создание и тестирование служб WCF Create and test WCF services

Вы можете использовать шаблоны WCF в Visual Studio в качестве основы для быстрого создания собственной службы. You can use the WCF Visual Studio templates as a foundation to quickly create your own service. Затем с помощью WCF Service Auto Host и тестового клиента WCF можно выполнить отладку и тестирование службы. You can then use WCF Service Auto Host and WCF Test Client to debug and test the service. Оба этих инструмента обеспечивают быстрый и удобный цикл отладки и тестирования и устраняют необходимость фиксации модели размещения на ранней стадии. These tools together provide a fast and convenient debug and testing cycle, and eliminate the requirement to commit to a hosting model at an early stage.

Шаблоны WCF WCF Templates

Шаблоны WCF в Visual Studio предоставляют базовую структуру классов для разработки служб. WCF Visual Studio templates provide a basic class structure for service development. Несколько шаблонов WCF доступно в диалоговом окне Добавление нового проекта. Several WCF templates are available in the Add New Project dialog box. К ним относятся проекты lLibrary службы WCF, веб-сайты служб WCF и шаблоны элементов службы WCF. These include WCF service lLibrary projects, WCF service websites, and WCF Service item templates.

При выборе шаблона добавляются файлы для контракта службы, реализации службы и конфигурации службы. When you select a template, files are added for a service contract, a service implementation, and a service configuration. Все необходимые атрибуты уже добавлены, создан простой тип службы «Hello World», и вам не нужно писать код. All necessary attributes are already added, creating a simple «Hello World» type of service, and you did not have to write any code. Вы, конечно, захотите добавить код, чтобы создать функции и методы для вашей реальной службы, но шаблоны обеспечивают основу. You will, of course, want to add code to provide functions and methods for your real world service, but the templates provide the basic foundation.

Дополнительные сведения о шаблонах WCF см. в разделе Шаблоны WCF в Visual Studio. To learn more about WCF templates, see WCF Visual Studio templates.

Узел службы WCF WCF service host

Когда вы запускаете отладчик Visual Studio (нажав клавишу F5) для проекта службы WCF, автоматически запускается инструмент «Узел службы WCF» для локального размещения службы. When you start the Visual Studio debugger (by pressing F5) for a WCF service project, the WCF Service Host tool is automatically started to host the service locally. Узел службы WCF выполняет перечисление служб в проекте службы WCF, загружает конфигурацию проекта и создает экземпляр узла для каждой найденной службы. WCF Service Host enumerates the services in a WCF service project, loads the project’s configuration, and instantiates a host for each service that it finds.

С помощью узла службы WCF можно тестировать службу WCF без создания дополнительного кода или фиксации в конкретном узле во время разработки. By using WCF Service Host, you can test a WCF service without writing extra code or committing to a specific host during development.

Дополнительные сведения об узле службы WCF см. в разделе Узел службы WCF (WcfSvcHost.exe). To learn more about WCF Service Host, see WCF service host (WcfSvcHost.exe).

Тестовый клиент WCF WCF test client

Тестовый клиент WCF представляет собой инструмент, позволяющий вводить тестовые параметры, отправлять их в службу WCF и просматривать ответную реакцию службы. The WCF Test Client tool enables you to input test parameters, submit that input to a WCF service, and view the response that the service sends back. В сочетании с узлом службы WCF он обеспечивает удобный интерфейс тестирования службы. It provides a convenient service testing experience when you combine it with WCF Service Host. Этот инструмент находится в папке %ProgramFiles(x86)%\Microsoft Visual Studio\2017\Enterprise\Common7\IDE. Find the tool in the %ProgramFiles(x86)%\Microsoft Visual Studio\2017\Enterprise\Common7\IDE folder.

Когда вы нажимаете клавишу F5 для отладки проекта службы WCF, открывается тестовый клиент WCF, который отображает список конечных точек службы, заданных в файле конфигурации. When you press F5 to debug a WCF service project, WCF Test Client opens and displays a list of service endpoints that are defined in the configuration file. Вы можете протестировать эти параметры и запустить службу и повторять этот процесс для последовательного тестирования и проверки службы. You can test the parameters and start the service, and repeat this process to continuously test and validate your service.

Дополнительные сведения о тестовом клиенте WCF см. в разделе Тестовый клиент WCF (WcfTestClient.exe). To learn more about WCF Test Client, see WCF test client (WcfTestClient.exe).

Доступ к службам данных WCF в Visual Studio Accessing WCF services in Visual Studio

Visual Studio упрощает задачу создания клиентов WCF, автоматически создавая прокси-сервер и конечную точку для служб, добавленных в диалоговом окне Добавление ссылки на службу. Visual Studio simplifies the task of creating WCF clients, automatically generating a proxy and an endpoint for services that you add by using the Add Service Reference dialog box. Все необходимые сведения конфигурации добавляются в файл app.config. All necessary configuration information is added to the app.config file. В большинстве случаев все, что вам нужно сделать, это создать экземпляр службы, чтобы использовать его. Most of the time, all that you have to do is instantiate the service in order to use it.

В диалоговом окне Добавление ссылки на службу можно ввести адрес для службы или выполнить поиск службы, которая определена в вашем решении. The Add Service Reference dialog box enables you to enter the address for a service or to search for a service that is defined in your solution. Это диалоговое окно возвращает список служб и действий, которые они предоставляют. The dialog box returns a list of services and the operations provided by those services. Оно также позволяет определить пространство имен, по которому вы будете ссылаться на службы в коде. It also enables you to define the namespace by which you will reference the services in code.

Диалоговое окно Настройка ссылок на службу позволяет настраивать конфигурацию для службы. The Configure Service References dialog box enables you to customize the configuration for a service. Вы можете изменить адрес службы, задать уровень доступа, асинхронное поведение и типы контрактов сообщений, а также настроить повторное использование типов. You can change the address for a service, specify access level, asynchronous behavior, and message contract types, and configure type reuse.

Практическое руководство. Выбор конечной точки службы How to: Select a service endpoint

Некоторые службы Windows Communication Foundation (WCF) предоставляют несколько конечных точек, через которые клиент может взаимодействовать со службой. Some Windows Communication Foundation (WCF) services expose multiple endpoints through which a client may communicate with the service. Например, служба может предоставлять одну конечную точку, которая использует привязку HTTP и проверку подлинности с помощью имени и пароля пользователя, и вторую конечную точку, которая использует FTP и проверку подлинности Windows. For example, a service might expose one endpoint that uses an HTTP binding and user name and password security and a second endpoint that uses FTP and Windows Authentication. Первую конечную точку могут использовать приложения, обращающиеся к службе через брандмауэр, а вторая может использоваться в интрасети. The first endpoint might be used by applications that access the service from outside a firewall, whereas the second might be used on an intranet.

В таком случае вы можете указать endpointConfigurationName в качестве параметра конструктора для ссылки на службу. In such a case, you can specify the endpointConfigurationName as a parameter to the constructor for a service reference.

Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в этой статье. Your computer might show different names or locations for some of the Visual Studio user interface elements in this article. Возможно, вы используете другой выпуск Visual Studio или другие параметры среды. You may be using a different edition of Visual Studio or different environment settings. Дополнительные сведения см. в разделе Персонализация среды IDE. For more information, see Personalize the IDE.

Выбор конечной точки службы To select a service endpoint

Добавьте ссылку на службу WCF, щелкнув правой кнопкой мыши узел проекта в обозревателе решений и выбрав Добавить ссылку на службу. Add a reference to a WCF service by right-clicking the project node in Solution Explorer and choosing Add service reference.

В редакторе кода добавьте конструктор для ссылки на службу: In the Code Editor, add a constructor for the service reference:

Замените ServiceReference на пространство имен для ссылки на службу и замените Service1Client на имя службы. Replace ServiceReference with the namespace for the service reference and replace Service1Client with the name of the service.

В списке IntelliSense отображаются перегрузки для конструктора. An IntelliSense list displays that includes the overloads for the constructor. Выберите перегрузку endpointConfigurationName As String . Select the endpointConfigurationName As String overload.

После перегрузки введите = ConfigurationName, где ConfigurationName — имя конечной точки, которую вы хотите использовать. Following the overload, type = ConfigurationName, where ConfigurationName is the name of the endpoint that you want to use.

Если вам не известны имена доступных конечных точек, их можно найти в файле app.config. If you do not know the names of the available endpoints, you can find them in the app.config file.

Поиск доступных конечных точек для службы WCF To find the available endpoints for a WCF service

В Обозревателе решений щелкните правой кнопкой мыши файл app.config для проекта, который содержит ссылку на службу, а затем нажмите Открыть. In Solution Explorer, right-click the app.config file for the project that contains the service reference and then click Open. Этот файл откроется в редакторе кода. The file appears in the Code Editor.

Выполните поиск по тегу в этом файле. Search for the tag in the file.

Под тегом найдите тег, который начинается с . Search underneath the tag for a tag that starts with .

Если ссылка на службу предоставляет несколько конечных точек, будет два или более тега . If the service reference provides multiple endpoints, there will be two or more tags.

Внутри тега находится параметр name=» SomeService » (где SomeService представляет имя конечной точки). Inside the tag, you will find a name=» SomeService » parameter (where SomeService represents an endpoint name). Это имя конечной точки, которое можно передать в перегрузку endpointConfigurationName As String конструктора для ссылки на службу. This is the name for the endpoint that can be passed to the endpointConfigurationName As String overload of a constructor for a service reference.

Практическое руководство. Асинхронный вызов метода службы How to: Call a service method asynchronously

Большинство методов в службах Windows Communication Foundation (WCF) можно вызывать синхронно или асинхронно. Most methods in Windows Communication Foundation (WCF) services may be called either synchronously or asynchronously. Асинхронный вызов метода позволяет вашему приложению продолжать работу, пока метод вызывается, когда используется медленное соединение. Calling a method asynchronously enables your application to continue to work while the method is being called when it operates over a slow connection.

Когда в проект добавляется ссылка на службу, по умолчанию она настраивается для синхронного вызова методов. By default, when a service reference is added to a project, it is configured to call methods synchronously. Вы можете изменить это поведение и задать асинхронный вызов методов, изменив соответствующий параметр в диалоговом окне Настройка ссылки на службу. You can change the behavior to call methods asynchronously by changing a setting in the Configure Service Reference dialog box.

Этот параметр устанавливается отдельно для каждой службы. This option is set on a per-service basis. Если один метод для службы вызывается асинхронно, то все методы должны вызываться асинхронно. If one method for a service is called asynchronously, all methods must be called asynchronously.

Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в этой статье. Your computer might show different names or locations for some of the Visual Studio user interface elements in this article. Возможно, вы используете другой выпуск Visual Studio или другие параметры среды. You may be using a different edition of Visual Studio or different environment settings. Дополнительные сведения см. в разделе Персонализация среды IDE. For more information, see Personalize the IDE.

Асинхронный вызов метода службы To call a service method asynchronously

В Обозревателе решений нажмите ссылку на службу. In Solution Explorer, select the service reference.

В меню Проект выберите Настроить ссылку на службу. On the Project menu, click Configure Service Reference.

В диалоговом окне Настройка ссылки на службу установите флажок Создавать асинхронные операции. In the Configure Service Reference dialog box, select the Generate asynchronous operations check box.

Практическое руководство. Привязка данных, возвращаемых службой How to: Bind data returned by a service

Вы можете привязать к элементу управления данные, возвращаемые службой Windows Communication Foundation (WCF), так же, как выполняется привязка к элементу управления любого другого источника данных. You can bind data returned by a Windows Communication Foundation (WCF) service to a control just as you can bind any other data source to a control. Если вы добавляете ссылку на службу WCF, и эта служба содержит составные типы, возвращающие данные, они автоматически добавляются в окно Источники данных. When you add a reference to a WCF service, if the service contains composite types that return data, they are automatically added to the Data Sources window.

Привязка элемента управления к одному полю данных, возвращаемому службой WCF To bind a control to single data field returned by a WCF service

В меню Данные выберите команду Показать источники данных. On the Data menu, click Show Data Sources.

Открывается окно Источники данных. The Data Sources window appears.

В окне Источники данных разверните узел для вашей ссылки на службу. In the Data Sources window, expand the node for your service reference. Появятся все составные типы, возвращаемые службой. Any composite types returned by the service display.

Разверните узел для типа. Expand a node for a type. Появятся поля данных для этого типа. The data fields for that type appear.

Выберите поле и щелкните стрелку раскрывающегося списка, чтобы вывести список элементов управления, доступных для этого типа данных. Select a field and click the drop-down arrow to display a list of controls that are available for the data type.

Щелкните тип элемента управления, к которому вы хотите привязать данные. Click the type of control to which you want to bind.

Перетащите это поле в форму. Drag the field onto a form. Элемент управления будет добавлен в форму вместе с компонентами BindingSource и BindingNavigator. The control is added to the form, together with a BindingSource component and a BindingNavigator component.

Повторите шаги с 4 по 6 для всех остальных полей, которые хотите привязать. Repeat steps 4 though 6 for any other fields that you want to bind.

Привязка элемента управления к составному типу, возвращаемому службой WCF To bind a control to composite type returned by a WCF service

В меню Данные выберите пункт Показать источники данных. On the Data menu, select Show Data Sources. Открывается окно Источники данных. The Data Sources window appears.

В окне Источники данных разверните узел для вашей ссылки на службу. In the Data Sources window, expand the node for your service reference. Появятся все составные типы, возвращаемые службой. Any composite types returned by the service display.

Выберите узел для типа и щелкните стрелку раскрывающегося списка, чтобы вывести список доступных вариантов. Select a node for a type and click the drop-down arrow to display a list of available options.

Щелкните DataGridView, чтобы отобразить данные в сетке, или Подробности, чтобы отобразить данные в отдельных элементах управления. Click either DataGridView to display the data in a grid or Details to display the data in individual controls.

Перетащите узел в форму. Drag the node onto the form. Элементы управления будут добавлены в форму вместе с компонентами BindingSource и BindingNavigator. The controls are added to the form, together with a BindingSource component and a BindingNavigator component.

Практическое руководство. Настройка службы для повторного использования существующих типов How to: Configure a service to reuse existing types

При добавлении в проект ссылки на службу все типы, определенные в службе, создаются в локальном проекте. When a service reference is added to a project, any types defined in the service are generated in the local project. В результате во многих случаях создаются дубликаты типов, когда служба использует общие типы .NET или когда типы определены в общей библиотеке. In many cases, this creates duplicate types when a service uses common .NET types or when types are defined in a shared library.

Для устранения этой проблемы типы в указанных сборках по умолчанию являются общими. To avoid this problem, types in referenced assemblies are shared by default. Если вы хотите отключить совместное использование типов для одной или нескольких сборок, это можно сделать в диалоговом окне Настройка ссылок на службы. If you want to disable type sharing for one or more assemblies, you can do so in the Configure Service References dialog box.

Отключение совместного использования типов в одной сборке To disable type sharing in a single assembly

В Обозревателе решений нажмите ссылку на службу. In Solution Explorer, select the service reference.

В меню Проект выберите Настроить ссылку на службу. On the Project menu, click Configure Service Reference.

В диалоговом окне Настройка ссылок на службы установите флажок Повторно использовать типы в указанных сборках, на которые есть ссылки. In the Configure Service References dialog box, select Reuse types in specified referenced assemblies.

Установите этот флажок для каждой сборки, в которой вы хотите включить совместное использование типов. Select the check box for each assembly in which you want to enable type sharing. Чтобы отключить совместное использование типов для сборки, снимите этот флажок. To disable type sharing for an assembly, leave the check box cleared.

Отключение совместного использования типов во всех сборках To disable type sharing in all assemblies

В Обозревателе решений нажмите ссылку на службу. In Solution Explorer, select the service reference.

В меню Проект выберите Настроить ссылку на службу. On the Project menu, click Configure Service Reference.

В диалоговом окне Настройка ссылок на службы снимите флажок Повторно использовать типы в указанных сборках, на которые есть ссылки. In the Configure Service References dialog box, clear the Reuse types in referenced assemblies check box.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Библиотека dll файлов для windows 7 64 bit
  • Библиотека dll msvcrt dll для windows xp
  • Библиотека activex для входа с эцп для windows 7
  • Беспроводной сетевой usb адаптер для windows 10
  • Беспроводной геймпад xbox 360 для windows