我正在尝试使用 .NET API 来禁用我的 Netscaler 中的服务器。我能够获得 VIP 列表并获得与这些 VIP 关联的服务器列表。但是,一些 VIP 具有与之关联的服务组。这是我遇到问题的地方。当我到达具有服务组的 VIP 时,我收到一个空异常错误。我不确定服务组信息在 VIP 中的存储位置。这是我的代码:
nitro_service session = new nitro_service("<netscaler-IP>");
session.login("<username>", "<password>");
var lbServers = lbvserver.get(session);
foreach (var vip in lbServers)
{
foreach (var service in lbvserver_servicegroup_binding.get(session, vip.name))
{
Console.WriteLine(vip.name);
Console.Write(service.servicegroupname);
Console.WriteLine(service.servicename);
Console.ReadLine();
}
}
我尝试检查 servicegroupname 是否为空,但它始终为空,无论是否有与 VIP 关联的服务组或服务器。
我也尝试只获取没有 VIP 的服务组,但 lbvserver_servicegroup_binding 只需要 2 个参数。