public static NetworkInterface GetPrimaryAdapter(IEndpointManager endpointManager) { return GetPrimaryAdapter(endpointManager.GetDefaultHost()); }
public static IPAddress GetActiveIpAddress(IEndpointManager endpointManager) { try { var primaryAdapter = GetPrimaryAdapter(endpointManager.GetDefaultHost()); if (primaryAdapter == null) return GetIpAddressFromDns(); foreach (var entry in primaryAdapter.GetIPProperties().UnicastAddresses .Where(entry => entry.Address.AddressFamily == AddressFamily.InterNetwork)) { return entry.Address; } throw new Exception("Could not determine client ip address"); } catch (Exception e) { Log.WarnFormat("An exception occurred while attempting to get this computer's ip address from primary adapter: {0}", e.Message); return null; } }