我正在尝试使用.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是否为null但它始终为null,无论是否有与VIP关联的服务组或服务器。
我也尝试过没有VIP的服务组,但lbvserver_servicegroup_binding只需要2个参数。
答案 0 :(得分:1)
我明白了。
我在foreach之前定义了我的服务组。
var serviceGroups = lbvserver_servicegroup_binding.get(session, vip.name);
然后添加了一个if serviceGroups!= null