Как настроить базовый клиент Windows Communication Foundation
Это пятая из шести задач, выполнение которых необходимо для создания базовой службы Windows Communication Foundation (WCF) и клиента, который может вызывать службу. Общие сведения обо всех шести задачах см. в разделе Учебник по началу работы.
В этом разделе описывается добавление в проект клиента файла конфигурации клиента, созданного с использованием Служебное средство ServiceModel Metadata Utility Tool (Svcutil.exe), и объясняется содержимое элементов конфигурации клиента. Настройка клиента состоит из задания конечной точки, которую клиент использует для получения доступа к службе. Конечная точка имеет адрес, привязку и контракт, и при настройке клиента необходимо задать все эти элементы.
Содержимое файлов конфигурации, созданных для клиента, представлено в примере после описания процедуры.
Настройка клиента Windows Communication Foundation
Добавьте файл конфигурации App.config, созданный в предыдущей процедуре, описанной в разделе Как создать клиент Windows Communication Foundation, в проект клиента в Visual Studio. Щелкните правой кнопкой мыши по проекту клиента в Обозревателе решений, выберите Добавить, затем выберите Существующий элемент. Затем выберите файл App.config в каталоге, из которого запускалась программа SvcUtil.exe на предыдущем шаге. (Файл называется App.config, потому что при создании этого файла с помощью средства Svcutil.exe использовался переключатель /config:app.config). Нажмите кнопку ОК. По умолчанию в диалоговом окне Добавление существующего элемента фильтруются все файлы с расширением CONFIG. Для просмотра этих файлов выберите Все файлы (*.*) из раскрывающегося списка в нижнем правом углу диалогового окна Добавить существующий элемент.
Откройте созданный файл конфигурации. Средство Svcutil.exe создает значения для каждого параметра в привязке. В следующем примере приведено представление созданного файла конфигурации. В разделе <system.serviceModel><endpoint> найдите элемент. Следующий файл конфигурации является упрощенной версией созданного файла.
<?xml version="1.0" encoding="utf-8"?> <configuration> <system.serviceModel> <bindings> <wsHttpBinding> <binding name="WSHttpBinding_ICalculator"> </binding> </wsHttpBinding> </bindings> <client> <endpoint address="https://localhost:8000/ServiceModelSamples/Service/CalculatorService" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ICalculator" contract="Microsoft.ServiceModel.Samples.ICalculator" name="WSHttpBinding_ICalculator"> </endpoint> </client> </system.serviceModel> </configuration>
В этом примере продемонстрирована настройка конечной точки, которую клиент использует для получения доступа к службе, расположенной по следующему адресу: https://localhost:8000/ServiceModelSamples/service
Элемент конечной точки задает, что для связи используется контракт
Microsoft.ServiceModel.Samples.ICalculator
, настраиваемый с помощью предоставляемой системой привязки WsHttpBinding. Эта привязка задает HTTP в качестве транспорта, безопасность с возможностью взаимодействия и другие данные конфигурации.Дополнительные сведения использовании созданного клиента с этой конфигурацией см. раздел Как использовать клиент Windows Communication Foundation.
Пример
В примере показано содержимое файлов конфигурации, созданных для клиента.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_ICalculator"
closeTimeout="00:01:00"
openTimeout="00:01:00"
receiveTimeout="00:10:00"
sendTimeout="00:01:00"
bypassProxyOnLocal="false"
transactionFlow="false"
hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="524288"
maxReceivedMessageSize="65536"
messageEncoding="Text"
textEncoding="utf-8"
useDefaultWebProxy="true"
allowCookies="false">
<readerQuotas maxDepth="32"
maxStringContentLength="8192"
maxArrayLength="16384"
maxBytesPerRead="4096"
maxNameTableCharCount="16384" />
<reliableSession ordered="true"
inactivityTimeout="00:10:00"
enabled="false" />
<security mode="Message">
<transport clientCredentialType="Windows"
proxyCredentialType="None"
realm="" />
<message clientCredentialType="Windows"
negotiateServiceCredential="true"
algorithmSuite="Default"
establishSecurityContext="true" />
</security>
</binding>
</wsHttpBinding>
</bindings>
<client>
<endpoint address="https://localhost:8000/ServiceModelSamples/Service/CalculatorService"
binding="wsHttpBinding"
bindingConfiguration="WSHttpBinding_ICalculator"
contract="ICalculator"
name="WSHttpBinding_ICalculator">
<identity>
<userPrincipalName value="user@contoso.com" />
</identity>
</endpoint>
</client>
</system.serviceModel>
</configuration>
Клиент настроен. Перейти к разделу Как использовать клиент Windows Communication Foundation. Сведения по устранению неполадок см. в разделе Устранение неполадок, связанных с учебником по началу работы.
См. также
Задачи
Как создать клиент Windows Communication Foundation
Образец для начала работы
Резидентное размещение
Основные понятия
Использование привязок для настройки служб и клиентов
Служебное средство ServiceModel Metadata Utility Tool (Svcutil.exe)