dirección IP externa en C #

¿Cuál es la forma más fácil de obtener mi dirección IP externa en C #?

No hay una forma integrada de hacerlo dentro del marco porque es difícil determinar cuál es la dirección IP externa / pública. Esto, por supuesto, es asumiendo que su IP está NAT detrás de alguna puerta de enlace.

Un método sería raspar un sitio como http://www.whatismyip.org/ utilizando la clase WebClient .

System.Net.WebClient client = new System.Net.WebClient(); string ip = client.DownloadString( "http://www.whatismyip.org" ); Console.Out.WriteLine( ip ); 
 public static string GetExternalIP() { using (var wc = new System.Net.WebClient()) return wc.DownloadString("http://whatismyip.org"); } 
 public String getLocalIP() { IPHostEntry host; host = Dns.GetHostEntry(Dns.GetHostName()); foreach (IPAddress ip in host.AddressList) { if (ip.AddressFamily == AddressFamily.InterNetwork) { return ip.ToString(); } } return "127.0.0.1"; }