0

我正在尝试使用 .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 个参数。

4

1 回答 1

1

我想到了。

我在 foreach 之前定义了我的服务组。

var serviceGroups = lbvserver_servicegroup_binding.get(session, vip.name);

然后添加了一个 if serviceGroups !=null

于 2017-02-15T20:27:50.277 回答