У меня есть класс TestService
, который реализует два сервисных контракта с именами IService1
и IService2
.
Но я сталкиваюсь с трудностями в реализации.
Мой код выглядит следующим образом:
Uri baseAddress = new Uri("http://localhost:8000/ServiceModel/Service");
Uri baseAddress1 = new Uri("http://localhost:8080/ServiceModel/Service1");
ServiceHost selfHost = new ServiceHost(typeof(TestService));
selfHost.AddServiceEndpoint(typeof(IService1), new WSHttpBinding(), baseAddress);
selfHost.AddServiceEndpoint(typeof(IService2), new WSHttpBinding(), baseAddress1);
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
selfHost.Description.Behaviors.Add(smb);
selfHost.Open();
Console.WriteLine("The service is ready.");
Console.WriteLine("Press <ENTER> to terminate service.");
Console.WriteLine();
Console.ReadLine();
selfHost.Close();
Я получаю ошибку во время выполнения как:
Свойство HttpGetEnabled
ServiceMetadataBehavior имеет значение true
и свойство HttpGetUrl является
относительный адрес, но нет http
Базовый адрес. Либо предоставить http
базовый адрес или установите HttpGetUrl в
абсолютный адрес.
Что мне с этим делать? Мне действительно нужны две отдельные конечные точки?
Спасибо.