20 個の IP が NIC にバインドされた Windows サーバーがあります。現時点では、時々 IP を (自動的に) 変更することで (Web) リクエストを正常に実行しています ( request.ServicePoint.BindIPEndPointDelegate = new BindIPEndPoint(connectionInfo.BindIPEndPointCallback);
)。数日後、.NET の WebBrowser コントロールを使用して Web 要求を行うテスト環境を使用することにしました。Web コントロールが使用している IP を変更するためのソリューションのようなエンドポイントを提供できないため、ここで問題が始まります。これが、プログラムで IP を変更することにした理由ですが、WMI 経由で IP を変更するたびに、(常に) 単一の IP アドレスで識別されます。
これは wmi コードです:
public static void setIP(string IpAddresses, string SubnetMask, string Gateway)
{
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if ((bool)mo["IPEnabled"]==true)
{
ManagementBaseObject newIP = mo.GetMethodParameters("EnableStatic");
ManagementBaseObject newGate = mo.GetMethodParameters("SetGateways");
ManagementBaseObject newDNS = mo.GetMethodParameters("SetDNSServerSearchOrder");
newGate["DefaultIPGateway"] = new string[] { Gateway };
newGate["GatewayCostMetric"] = new int[] { 1 };
newIP["IPAddress"] = IpAddresses.Split(',');
newIP["SubnetMask"] = new string[] { SubnetMask };
ManagementBaseObject setIP = mo.InvokeMethod("EnableStatic", newIP, null);
ManagementBaseObject setGateways = mo.InvokeMethod("SetGateways", newGate, null);
}
}
}
サーバーは VM Ware で実行されますが、これが問題になるとは思いません。私たちは何を間違っていますか?