Laden...

WCF - DualStack (IPv4 über IPv6)

Erstellt von EgoFelix vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.589 Views
E
EgoFelix Themenstarter:in
38 Beiträge seit 2009
vor 12 Jahren
WCF - DualStack (IPv4 über IPv6)

Hallo,

ist es möglich einen WCF-Dienst auch IPv4 Verbindungen annehmen zu lassen, wenn ich diesen über IPv6 publiziere?

Bei einem normalen TcpListener ist folgendes möglich:

TcpListener TcpServer = new TcpListener(IPAddress.IPv6Any, 80);

// Nehme auch IPv4 Verbindungen auf dem IPv6 Socket an
TcpServer.Server.SetSocketOption(SocketOptionLevel.IPv6, System.Net.Sockets.SocketOptionName.IPv6Only, 0);

Kann ich dem WCF-Dienst irgendwie mitteilen, wenn er auf IPv6Any lauscht, auch IPv4 gemappt werden soll?

Leider klappt es auch nicht, einfach zwei ServiceEndpoints für IPAdress.Any sowie IPAdress.IPv6Any hinzuzufügen.

Sobald man bei Google nach etwas mit WCF und IPv6 sucht, bekommt man nur Treffer zu Teredo, oder komplett andere Treffer.

Mit freundlichen Grüßen
Felix

E
EgoFelix Themenstarter:in
38 Beiträge seit 2009
vor 12 Jahren

Habs gefunden. Um bei einem WCF Dienst auf allen möglichen IP's zu horchen muss man anstatt 0.0.0.0 oder [::] einfach den lokalen Hostname angeben!

string.Format("net.tcp://{0}:{1}/Pfad/Zum/Service", System.Net.Dns.GetHostName(), port)

Mit freundlichen Grüßen
Felix