WCF Mehrfachbindungen

8

Ich bekomme den folgenden Fehler, wenn ich mehrere Endpunkte versuche ..

%Vor%

Hier ist mein App.Config-Inhalt

%Vor%

Wäre toll, wenn mir jemand helfen könnte, wo ich falsch liege.

Der Net TCP-Portfreigabedienst ist sowohl in App.Config als auch in Windows-Dienst aktiviert. Das ist, soweit ich das überprüfen kann.

    
Josh 19.08.2009, 04:54
quelle

4 Antworten

1

Es kann sein, dass Sie denselben Port für die HTTP- und TCP-Bindungen verwenden. Versuchen Sie, den Port der TCP-Bindung auf 8732 oder etwas anderes als 8731 zu ändern.

    
Andy White 19.08.2009, 05:01
quelle
13

Sie können nicht den gleichen exakten Port zwischen zwei verschiedenen Bindungen teilen, was Sie gerade tun, basierend auf der Konfiguration, die Sie oben gepostet haben. Sie müssen Ihre wsHttp-Bindung an einen anderen Port als die net.tcp-Bindung haben. Der Zweck der net.tcp-Portfreigabe ist es, mehreren Prozessen zu ermöglichen, denselben Port für mehrere net.tcp -Bindungen zu verwenden ... und nicht einen einzelnen Port über mehrere verschiedene Bindungen und Protokolle hinweg zu nutzen.

Um die WCF-net.tcp-Portfreigabe erfolgreich zu nutzen, müssen Sie den "Net.Tcp Port Sharing Service" starten (beachten Sie, dass Net.Tcp explizit im Namen angegeben wird). Sie werden es wahrscheinlich auch auf Automatischer Start einstellen, damit Sie es nicht neu starten müssen, wenn Sie neu starten. Sobald der Windows-Portfreigabe-Dienst gestartet wurde, können Sie einen einzelnen Port für eine beliebige net.tcp-Bindung im selben Prozess für mehrere Prozesse auf derselben physischen Maschine freigeben. Für jede net.tcp-Bindung, die einen Port freigeben muss, muss die Eigenschaft portSharingEnabled auf true festgelegt sein. Wenn Sie das oben beschriebene tun, sollten Sie in der Lage sein, den gleichen Port für jeden net.tcp-Endpunkt wiederzuverwenden, bei dem Port-Sharing aktiviert ist.

Dadurch können Sie diesen Port nicht mit einer der wsHttp-Bindungen, der basicHttp-Bindung, einer MSMQ-Bindung oder einer Bindung von Drittanbietern teilen. Dies ist eine Funktion, die spezifisch für die netTcpBinding-Funktion von WCF ist.

Als Referenz: Ссылка

    
jrista 19.08.2009 23:49
quelle
1

Ich rate Ihnen, tracing zu aktivieren, um das Problem besser zu verstehen . WCF könnte ein b * tch sein, wenn es darum geht, Fehlermeldungen anzuzeigen.

    
sebagomez 19.08.2009 23:55
quelle
0

Es könnte ein Problem mit der tcp-Bindung / Konfiguration sein und nicht ein Problem mit mehreren Bindungen.

Um es zu testen, entfernen Sie den Verweis auf die HTTP-Bindung und prüfen Sie, ob die TCP-Bindung alleine funktioniert.

    
Shiraz Bhaiji 19.08.2009 07:18
quelle

Tags und Links