我们有一个windows服务器,其IP地址绑定到NIC。目前我们正在通过(automaticaly)成功地执行(web)请求,并且偶尔更改IP(request.ServicePoint.BindIPEndPointDelegate = new BindIPEndPoint(connectionInfo.BindIPEndPointCallback);
)。几天后,我们决定使用一个测试环境,在这里我们使用.NET的WebBrowser控件来发出Web请求。 这里的问题开始了,因为我们不能给端点解决方案来改变web控件使用的ip。这就是为什么我们决定改变IP programmaticaly的原因,但是当我们通过WMI改变IP时,我们正在使用单个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);
}
}
}
服务器上的虚拟机运行洁具但我不认为这可能是问题。 我们做错了什么?
我改变代码,但仍然没有运气。 – user2086835 2013-02-19 12:36:00
我想我的问题并不清楚。我已经将所有IP绑定到NIC,我只想确定自己使用哪个IP用于此应用程序。 – user2086835 2013-02-19 13:33:51