Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В примере MultipleContracts показано, как реализовать несколько контрактов в службе и как настроить конечные точки для взаимодействия с каждым из реализованных контрактов. Этот пример основан на Кратком руководстве. Служба была изменена для определения двух контрактов, ICalculator и ICalculatorSession контрактов.
Замечание
Процедура установки и инструкции по сборке для этого примера находятся в конце этого раздела.
Сервисный класс реализует как контракт ICalculator, так и контракт ICalculatorSession. Поскольку для одного из контрактов требуется сеанс, служба использует режим экземпляра PerSession чтобы поддерживать состояние в течение всей продолжительности сеанса.
Конфигурация службы была изменена, чтобы определить две конечные точки для предоставления каждого контракта. Конечная ICalculator точка предоставляется по базовому адресу с помощью basicHttpBinding.
ICalculatorSession Конечная точка доступна по адресу baseaddress/session, где атрибут wsHttpBindingbindingConfiguration установлен на BindingWithSession, как показано в следующем примере конфигурации.
<service
name="Microsoft.ServiceModel.Samples.CalculatorService"
behaviorConfiguration="CalculatorServiceBehavior">
<!-- ICalculator endpoint is exposed using BasicBinding at the base
address provided by host:
http://localhost/servicemodelsamples/service.svc -->
<endpoint address=""
binding="basicHttpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
<!-- ICalculatorSession endpoint is exposed using BindingWithSession
at {baseaddress}/session:
http://localhost/servicemodelsamples/service.svc/session -->
<endpoint address="session"
binding="wsHttpBinding"
bindingConfiguration="BindingWithSession"
contract="Microsoft.ServiceModel.Samples.ICalculatorSession" />
...
</service>
Созданный код клиента теперь включает класс клиента для исходного ICalculator контракта и нового ICalculatorSession контракта. Конфигурация клиента и код были изменены для взаимодействия с каждым контрактом в соответствующей конечной точке службы.
Клиент является консольным приложением windows (.exe). Служба размещается на платформе Internet Information Services (IIS).
В окне консоли клиента отображаются операции, отправляемые каждой из конечных точек, сначала базовая конечная точка, а затем безопасная конечная точка.
Настройка, сборка и запуск примера
Убедитесь, что вы выполнили процедуру настройки One-Time для образцов Windows Communication Foundation.
Чтобы создать версию решения на C# или Visual Basic .NET, следуйте инструкциям по сборке примеров Windows Communication Foundation .
Чтобы запустить пример в конфигурации с одним или несколькими компьютерами, следуйте инструкциям в запуска примеров Windows Communication Foundation.