Mam usługę WCF i aplikację internetową. Aplikacja internetowa wywołuje połączenia z tą usługą WCF w sposób ciągły a.k.a. W naszym środowisku produkcyjnym bardzo rzadko pojawia się ten błąd. Ponieważ jest to działanie wewnętrzne, użytkownicy nie byli świadomi, kiedy ten błąd został zgłoszony.WCF: System.Net.SocketException - dozwolone jest tylko jedno użycie każdego adresu gniazda (protokołu/adresu sieciowego/portu)
Nie można połączyć z http://localhost/QAService/Service.svc. Kod błędu TCP 10048: Tylko jedno użycie każdego adresu gniazda (protokół/adres sieciowy/port) to normalnie dozwolone 127.0.0.1:80. ---> System.Net.WebException: Nie można połączyć się ze zdalnym serwerem ---> System.Net.Sockets.SocketException: Tylko jedno użycie każdego adresu gniazda (protokół/adres sieciowy/port) jest normalnie dozwolone 127.0.0.1:80
mam problemy w reprodukcji tego zachowania w naszym środowisku dev/qA. Upewniłem się, że połączenie klienta jest zamknięte w bloku try..catch..finally. Nadal nie rozumiem, co jest przyczyną problemu. Czy ktoś jest tego świadomy?
Uwaga: Szukałem w tym SO question, ale nie wydaje się być odpowiedzi na mój problem, więc to nie jest powtarzane pytania.
Czy to dlatego, że serwis internetowy używa portu 80, który jest używany przez IIS? Z którego portu korzysta twoja usługa w produkcji? Który port jest skonfigurowany w usługach IIS? – shahkalpesh
To samo 80 dla obu aplikacji. Usługa WCF jest skonfigurowana jako katalog wirtualny wewnątrz katalogu głównego, w którym znajduje się witryna. Mówisz, że czasami może wystąpić konflikt między żądaniem strony internetowej a żądaniem usługi ze strony internetowej próbującej użyć tego samego portu? – asyncwait
Napotkałem na podobną sytuację. Planowanie korzystania z funkcji udostępniania sieciowego tcp w usłudze wcf. http://msdn.microsoft.com/en-us/library/ms734772.aspx Proszę dać mi znać, jeśli to działa –