Попытка понять, что было бы лучшим подходом или лучшими решениями, учитывая, что целевые машины, на которых будет развернута программа, могут иметь объединенные сетевые карты или просто карты аварийного переключения.
У меня есть служба Windows, которая размещает службу через порт XXXX. Это не служба WCF, а простой TcpListner и сокет, привязанный к порту типа службы. В настоящее время он написан для привязки к IP-адресу при запуске службы, что неуклюже. Я ищу способ сделать IIS хостом службы похожим на функцию «Все неназначенные IP», которая, по-видимому, хорошо работает как с режимами объединения, так и с режимами аварийного переключения NIC.
Варианты, которые я имею в виду,
- Использовать IPAddress.Any... У меня нет опыта использования этого режима как с объединением сетевых карт, так и с аварийным переключением.
- Или выполните итерацию по каждому сетевому адаптеру, используя результаты System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces(), и привяжите к GetIPProperties().UnicastAddresses.
Рекомендация или если есть другие предложения
заранее спасибо
IPAddress.Any
, кажется, это то, что вы ищете. Метод Socket.Bind использует поле Any, чтобы указать, что экземпляр Socket должен отслеживать активность клиента на всех сетевых интерфейсах. - person Guvante   schedule 19.06.2012