このコードはサーバ上で動作している私のシステムで動作します。このエラーを修正するのを手伝ってください。サーバでシステムのIPコードが機能しない
private IPAddress getMyCurrentIP()
{
IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName());
if (host.AddressList.Length == 1)
myCurrentIP = host.AddressList[0].ToString();
else
{
foreach (IPAddress address in host.AddressList)
{
if (address.AddressFamily == AddressFamily.InterNetwork)
{
if (IsLocal(address))
return address;
}
}
}
return null;
}
public bool IsLocal(IPAddress address)
{
if (address == null)
throw new ArgumentNullException("address");
byte[] addr = address.GetAddressBytes();
return addr[0] == 10
|| (addr[0] == 192 && addr[1] == 168)
|| (addr[0] == 172 && addr[1] >= 16 && addr[1] <= 31);
}
...これは私の部分のコード..です
エラーが何であるかわからない、私は事与えられたコードは希望しません
このコードは壊れています...どうですか?私のクリスタルボールは今日のお店にあります... –
リストにIPが1つしかない場合、なぜAddressFamilyとIsLocalをチェックしていませんか?デバッグはこれを修正する唯一の本当の方法ですが、マシンが設定されているかどうかによって異なりますが、バスをドライブするのに十分な大きさのロジックにギャップがあるように見えます。 –