Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В примере SelfHost показано, как реализовать локальную службу в консольном приложении. Этот пример основан на Кратком руководстве. Файл конфигурации службы переименован из Web.config в App.config и изменен для настройки базового адреса, который использует хост. Исходный код службы был изменен для реализации статической Main функции, которая создает и открывает узел службы, предоставляющий настроенный базовый адрес. Реализация службы была изменена для записи выходных данных в консоль для каждой операции. Клиент не изменен, за исключением настройки правильного адреса конечной точки службы.
Замечание
Процедура установки и инструкции по сборке для этого примера находятся в конце этого раздела.
Пример реализует статическую функцию main для создания ServiceHost для заданного типа CalculatorService, как показано в следующем примере кода.
// Host the service within this EXE console application.
public static void Main()
{
// Create a ServiceHost for the CalculatorService type.
using (ServiceHost serviceHost =
new ServiceHost(typeof(CalculatorService)))
{
// Open the ServiceHost to create listeners
// and start listening for messages.
serviceHost.Open();
// The service can now be accessed.
Console.WriteLine("The service is ready.");
Console.WriteLine("Press <ENTER> to terminate service.");
Console.WriteLine();
Console.ReadLine();
}
}
Если служба размещена в службах IIS или службе активации процесса Windows (WAS), базовый адрес службы предоставляется средой размещения. В случае самостоятельного хостинга необходимо указать базовый адрес самостоятельно. Это делается с помощью add элемента, дочернего элемента baseAddresses<, дочернего> элемента узла<, дочернего> элемента <службы>, как показано в приведенной ниже конфигурации.
<service
name="Microsoft.ServiceModel.Samples.CalculatorService"
behaviorConfiguration="CalculatorServiceBehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8000/ServiceModelSamples/service"/>
</baseAddresses>
</host>
...
</service>
При запуске примера запросы и ответы операции отображаются как в окнах службы, так и в консоли клиента. Нажмите клавишу ВВОД в каждом окне консоли, чтобы завершить работу службы и клиента.
Настройка, сборка и запуск примера
Убедитесь, что вы выполнили процедуру настройки One-Time для образцов Windows Communication Foundation.
Чтобы создать версию решения на C# или Visual Basic .NET, следуйте инструкциям по сборке примеров Windows Communication Foundation .
Чтобы запустить пример в конфигурации с одним или несколькими компьютерами, следуйте инструкциям в разделе "Примеры Windows Communication Foundation".