У меня есть консольное приложение, в котором есть две службы, объявленные в App.config
, но в другом Project может быть обнаружена только первая служба хоста.
Ошибка:
HTTP 405: Метод не разрешен
<service name="ServicioBroker.Servicio.tabla_contenedor">
<endpoint address="get" binding="wsDualHttpBinding" contract="ServicioBroker.Cambios.IContenedor">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8000/ServicioTablaContenedor/" />
</baseAddresses>
</host>
</service>
<service name="ServicioBroker.Servicio.buques">
<endpoint address="get" binding="wsDualHttpBinding" contract="ServicioBroker.Cambios.IBuques">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8000/ServicioTablaBuques/" />
</baseAddresses>
</host>
</service>
Я не уверен, что это правильный способ объявить размещенный сервис
здесь я прикрепляю проект https://github.com/jafetrd/BDatos_API/tree/master/ServicioBroker
Я запускаю службы внутри класса service1 со следующим кодом:
var host = new ServiceHost(typeof(tabla_contenedor));
host.Open();
Console.WriteLine($"Servicio 1 iniciado en {host.Description.Endpoints[0].Address}");
while (!(host.State == CommunicationState.Opened)) { }
var host2 = new ServiceHost(typeof(buques));
host2.Open();
Console.WriteLine($"Servicio 2 iniciado en {host2.Description.Endpoints[0].Address}");
Я хотел бы знать, как обнаружить размещенную ВТОРОЙ службу, я пробую код только с ВТОРОЙ, и мойклиентское приложение не может его обнаружить.