Привязка NetTcpBinding по умолчанию
В примере по умолчанию показано использование привязки NetTcpBinding . Этот пример основан на начале работы , который реализует службу калькулятора. В этом образце служба является резидентной. И клиент, и служба являются консольными приложениями.
Примечание.
Процедура настройки и инструкции по построению для данного образца приведены в конце этого раздела.
Привязка задается в файлах конфигурации для клиента и службы. Тип привязки указывается в binding
атрибуте элемента конечной <точки> , как показано в следующем примере конфигурации.
<endpoint address=""
binding="netTcpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
В предыдущем примере показано, как настроить конечную точку для использования привязки netTcpBinding
с параметрами по умолчанию. Если необходимо настроить привязку netTcpBinding
и изменить некоторые из ее параметров, необходимо определить конфигурацию привязки. Конечная точка должна ссылаться на конфигурацию привязки по имени с атрибутом bindingConfiguration
. В этом образце конфигурация привязки называется Binding1
и определена, как показано в следующем образце конфигурации.
<services>
<service name="Microsoft.ServiceModel.Samples.CalculatorService"
behaviorConfiguration="CalculatorServiceBehavior">
...
<endpoint address=""
binding="netTcpBinding"
bindingConfiguration="Binding1"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
...
</service>
</services>
<bindings>
<netTcpBinding>
<binding name="Binding1"
closeTimeout="00:01:00"
openTimeout="00:01:00"
receiveTimeout="00:10:00"
sendTimeout="00:01:00"
transactionFlow="false"
transferMode="Buffered"
transactionProtocol="OleTransactions"
hostNameComparisonMode="StrongWildcard"
listenBacklog="10"
maxBufferPoolSize="524288"
maxBufferSize="65536"
maxConnections="10"
maxReceivedMessageSize="65536">
<readerQuotas maxDepth="32"
maxStringContentLength="8192"
maxArrayLength="16384"
maxBytesPerRead="4096"
maxNameTableCharCount="16384" />
<reliableSession ordered="true"
inactivityTimeout="00:10:00"
enabled="false" />
<security mode="Transport">
<transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
</security>
</binding>
</netTcpBinding>
</bindings>
При выполнении примера запросы и ответы операций отображаются в окне консоли клиента. Чтобы закрыть клиент, нажмите клавишу ВВОД в окне клиента.
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
Убедитесь, что вы выполнили процедуру однократной установки для примеров Windows Communication Foundation.
Чтобы создать выпуск решения на языке C# или Visual Basic .NET, следуйте инструкциям в разделе Building the Windows Communication Foundation Samples.
Чтобы запустить пример в конфигурации с одним или несколькими компьютерами, следуйте инструкциям в разделе "Примеры Windows Communication Foundation".
Примечание.
Поскольку сервер является резидентным, чтобы выполнить образец на нескольких компьютерах, необходимо указать удостоверение в файле App.config клиента.
<client> <endpoint name="" address="net.tcp://servername:9000/servicemodelsamples/service" binding="netTcpBinding" contract="Microsoft.ServiceModel.Samples.ICalculator"> <identity> <userPrincipalName value = "user_name@service_domain"/> </identity> </endpoint> </client>