WCF z protokołem net.tcp wewnątrz sieci

0

Utworzyłem prostą aplikację WCF. Uruchomiłem na komputerze własnym(X), chciałem ją pobrać (add service reference) na drugim komputerze w sieci lokalnej(Y), lecz usługa nie może być znaleziona. Firewalle na obydwu komputerach są wyłączone. O dziwo, jeśli uruchomię serwis na drugim komputerze(Y) i będę chciał go odszukać na pierwszym(X) to zostanie on odnaleziony. Jakieś ustawienia muszą nie pozwalać na odnalezienie serwisu, gdy ten jest hostowany na pierwszym komputerze(X). Serwis WCF został przetestowany z lokalnym klientem bez problemów, również tracelistener i messagelistener nie zwracają błędów, więc problem nie leży po stronie usługi WCF. Co może zatem powodować takie zachowanie? Komputer X ma system Windows 8 podczas gdy Y Windows 7.

0

Jest parę sposobów na to aby doszukać się powodu. Jeśli posiadasz adres usługi (http://mojadomena/mojausluga.svc):

  1. Zastosuj WCF Test Client https://www.google.pl/#q=WCF+Test+Client
  2. Dodaj do web.config diagnostykę:

<system.diagnostics>
<sources>
<source name="System.ServiceModel"
switchValue="Information, ActivityTracing"
propagateActivity="true">
<listeners>
<add name="traceListener"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="C:\Logs\MyApp.svclog" />
</listeners>
</source>
</sources>
</system.diagnostics>

  1. Otwórz adres usługi na serwerze oraz kliencie (http://mojadomena/mojausluga.svc) w przeglądarce, powinno się wyświetlić coś w ten deseń http://www.codeproject.com/KB/WCF/HelloWorldWCF/1148_02_17.png

Pozdrawiam,
Maciej

1 użytkowników online, w tym zalogowanych: 0, gości: 1