Netscaler Nitro API 无法获取服务组
Netscaler Nitro API cannot get Service Groups
我正在尝试使用 .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 个参数。
我想通了。
我在 foreach 之前定义了我的服务组。
var serviceGroups = lbvserver_servicegroup_binding.get(session, vip.name);
然后添加了一个if serviceGroups !=null
我正在尝试使用 .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 个参数。
我想通了。
我在 foreach 之前定义了我的服务组。
var serviceGroups = lbvserver_servicegroup_binding.get(session, vip.name);
然后添加了一个if serviceGroups !=null