Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Пример wsReliableSession демонстрирует использование надежных сеансов. Надежные сеансы обеспечивают поддержку надежного обмена сообщениями и сеансов. Надежный обмен сообщениями повторяет попытки связи в случае сбоя и позволяет указать гарантии доставки, такие как прибытие сообщений в порядке очереди. Сеансы поддерживают состояние для клиентов между вызовами. В примере реализованы сеансы для поддержания состояния клиента и указываются гарантии доставки по заказу.
Этот пример основан на руководстве «Начало работы», которое реализует сервис калькулятора. Функции надежного сеанса включены и настроены в файлах конфигурации приложения для клиента и службы.
В этом примере служба размещается в службах IIS, а клиент — консольное приложение (.exe).
Замечание
Процедура установки и инструкции по сборке для этого примера находятся в конце этого раздела.
В примере используется wsHttpBinding. Привязка указывается в файлах конфигурации для клиента и службы. Тип привязки указывается в атрибуте элемента binding конечной точки, как показано в приведенной ниже конфигурации.
<endpoint address=""
binding="wsHttpBinding"
bindingConfiguration="Binding1"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
Конечная точка содержит атрибут bindingConfiguration, который ссылается на конфигурацию привязки с именем "Binding1." Конфигурация привязки включает надежные сеансы, путем установления атрибута enabled в <reliableSession>true. Гарантии доставки для упорядоченных сеансов контролируются путем задания атрибута упорядоченности true или false. Значение по умолчанию — true.
<bindings>
<wsHttpBinding>
<binding name="Binding1">
<reliableSession enabled="true" />
</binding>
</wsHttpBinding>
</bindings>
Класс реализации службы реализует PerSession инстантирование для обслуживания отдельного экземпляра класса для каждого клиента, как показано в следующем примере кода.
[ServiceBehavior(InstanceContextMode=InstanceContextMode.PerSession)] public class CalculatorService : ICalculator
{
...
}
При запуске примера запросы и ответы операции отображаются в окне консоли клиента. Нажмите клавишу ВВОД в окне клиента, чтобы завершить работу клиента.
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.