При размещении в качестве службы Windows вы можете установить базовый адрес своей службы для любого URL-адреса, например:
(Предполагая, что у вас уже есть класс с именем "yourServiceClass", реализующий контракт на обслуживание)
public class ExampleWindowsService : ServiceBase
{
public ServiceHost host = null;
public static void Main()
{
ServiceBase.Run(new ExampleWindowsService());
}
protected override void OnStart(string[] args)
{
if (host != null)
{
host.Close();
}
Uri baseAddress = new Uri("http://localhost:80/yourservice.asmx");
host = new ServiceHost(typeof(yourServiceClass), baseAddress);
host.Open();
Console.WriteLine("Service hosted ...");
}
}
Затем вы можете добавить нужные конечные точки и поведения либо программно, либо с помощью файла конфигурации. Посмотрите здесь , чтобы найти больше информации о том, как реализовать службу WCF как службу Windows.