Adres bazowy usługi WCF a adres punktu końcowego
Jaka jest różnica między dwoma następującymi przypadkami:
Konfiguracja 1:
<service name="WcfService1.Service1" behaviorConfiguration="MyServiceTypeBehaviors">
<host>
<baseAddresses>
<add baseAddress="net.tcp://127.0.0.1:808/" />
</baseAddresses>
</host>
<endpoint address="service"
binding="netTcpBinding"
bindingConfiguration="MainBinding"
bindingName="MainBinding"
name="DefaultEndpoint"
contract="WcfService1.IService1" />
<endpoint address="mex"
binding="mexTcpBinding"
contract="IMetadataExchange" />
</service>
Konfiguracja 2:
<service name="WcfService1.Service1" behaviorConfiguration="MyServiceTypeBehaviors">
<host>
<baseAddresses>
<add baseAddress="net.tcp://127.0.0.1:808/service" />
</baseAddresses>
</host>
<endpoint address="net.tcp://127.0.0.1:808/service"
binding="netTcpBinding"
bindingConfiguration="MainBinding"
bindingName="MainBinding"
name="DefaultEndpoint"
contract="WcfService1.IService1" />
<endpoint address="mex"
binding="mexTcpBinding"
contract="IMetadataExchange" />
</service>
To, co rozumiem, jest w obu przypadkachadres bazowy + adres punktu końcowego postanawia to samoadres bezwzględny
Ale dlaczego mam błądKonfiguracja 2 : „Żaden punkt końcowy nie nasłuchuje w net.tcp: //127.0.0.1: 808 /
aleKonfiguracja 1 uruchamia usługę bez żadnych błędów!!!
Edytuj 1:
Działająca konfiguracja:
<host>
<baseAddresses>
<add baseAddress="net.tcp://127.0.0.1:808/" />
</baseAddresses>
</host>
<endpoint address="service"
binding="netTcpBinding"
bindingConfiguration="MainBinding"
bindingName="MainBinding"
name="DefaultEndpoint"
contract="WcfService1.IService1" />
Nie działająca konfiguracja:
<host>
<!--
<baseAddresses>
<add baseAddress="" />
</baseAddresses>
-->
</host>
<endpoint address="net.tcp://127.0.0.1:808/service"
binding="netTcpBinding"
bindingConfiguration="MainBinding"
bindingName="MainBinding"
name="DefaultEndpoint"
contract="WcfService1.IService1" />
<endpoint address="mex"
binding="mexTcpBinding"
contract="IMetadataExchange" />
W tym przypadku usunąłem adres bazowy i podałem pełny adres usługi (bez ścieżki .svc), ale otrzymałem błąd przekroczenia limitu czasu gniazda. Co jest nie tak w tym przypadku? Czy adres punktu końcowego zawsze potrzebuje pełnego adresu z .svc, gdy adres bazowy nie jest zdefiniowany? Jeśli tak, jaki może być powód?