Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В примере wsHttp показано, как реализовать типичную службу и типичный клиент с помощью Windows Communication Foundation (WCF). Этот пример состоит из клиентской консольной программы (client.exe) и библиотеки служб, размещенной службами IIS. Служба реализует контракт, определяющий шаблон связи с запросом и ответом. Контракт определяется интерфейсом ICalculator , который предоставляет математические операции (добавление, вычитание, умножение и деление). Клиент выполняет синхронные запросы к заданной математической операции, и служба отвечает результатом. Действие клиента отображается в окне консоли.
Замечание
Процедура установки и инструкции по сборке для этого примера находятся в конце этого раздела.
Этот пример опубликовывает ICalculator контракт с помощью <wsHttpBinding>. Конфигурация этой привязки была расширена в файле Web.config.
<bindings>
<wsHttpBinding>
<!--The following is the expanded configuration section for a-->
<!--WSHttpBinding. Each property is configured with the default-->
<!--value. See the ReliableSession, TransactionFlow, -->
<!--TransportSecurity, and MessageSecurity samples in the WS -->
<!--directory to learn how to configure these features. -->
<binding name="Binding1"
bypassProxyOnLocal="false"
transactionFlow="false"
hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="524288"
maxReceivedMessageSize="65536"
messageEncoding="Text"
textEncoding="utf-8"
useDefaultWebProxy="true"
allowCookies="false">
<reliableSession ordered="true"
inactivityTimeout="00:10:00"
enabled="false" />
<security mode="Message">
<message clientCredentialType="Windows"
negotiateServiceCredential="true"
algorithmSuite="Default"
establishSecurityContext="true" />
</security>
</binding>
</wsHttpBinding>
</bindings>
В базовом binding элементе maxReceivedMessageSize значение позволяет настроить максимальный размер входящего сообщения (в байтах). Значение hostNameComparisonMode позволяет настроить, учитывается ли имя хоста при демультиплексировании сообщений в службу. Это messageEncoding значение позволяет настроить, следует ли использовать кодировку Text или MTOM для сообщений. Значение textEncoding позволяет настроить кодировку символов для сообщений. Значение bypassProxyOnLocal позволяет настроить, следует ли использовать http-прокси для локального взаимодействия. Значение transactionFlow определяет, выполняется ли текущая транзакция (если операция настроена для потока транзакций).
В элементе <reliableSession> включенное логическое значение определяет, включены ли надежные сеансы. Значение ordered настраивает сохранение порядка сообщений. Значение inactivityTimeout настраивает время простоя сеанса перед сбоем.
<В разделе безопасности>mode значение определяет, какой режим безопасности следует использовать. В этом примере используется безопасность сообщений, поэтому <сообщение> указывается внутри <системы безопасности>.
При запуске примера запросы и ответы операции отображаются в окне консоли клиента. Нажмите клавишу ВВОД в окне клиента, чтобы завершить работу клиента.
Add(100,15.99) = 115.99
Subtract(145,76.54) = 68.46
Multiply(9,81.25) = 731.25
Divide(22,7) = 3.14285714285714
Press <ENTER> to terminate client.
Настройка, сборка и запуск примера
Установите ASP.NET 4.0 с помощью следующей команды.
%windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enableУбедитесь, что вы выполнили процедуру настройки One-Time для образцов Windows Communication Foundation.
Чтобы создать версию решения на C# или Visual Basic .NET, следуйте инструкциям по сборке примеров Windows Communication Foundation .
Чтобы запустить пример в конфигурации с одним или несколькими компьютерами, следуйте инструкциям в запуска примеров Windows Communication Foundation.