Magari è una cosa ovvia e non serve a nessuno, ma secondo me merita un breve post, come memo
A volte mi serve abilitare o disabilitare delle features a seconda del sito in cui il programma viene lanciato. Non essedo feature mission critical, mi viene comodo utilizzare l’indirizzo IP, la cui radice è diversa per ogni sito.
Oggi mi è successo che una feature non si abilitava anche se la radice dell’indirizzo IP era quella corretta. Questo perchè la mia “collaudata” routine mi stava tornando l’indirizzo IPv6.
Sul mitico Stackoverflow ho trovato subito la soluzione: filtrare il range degli indirizzi ritornato da GetHostEntry()
private string GetHostIpAddress()
{
return Array.FindLast(Dns.GetHostEntry(Dns.GetHostName()).AddressList,
x => x.AddressFamily == AddressFamily.InterNetwork).ToString();
}
Per tutti I tipi di AddressFamily andate qui.