2017-02-15 34 views
0

我正嘗試使用.NET API在我的Netscaler中禁用服務器。我可以獲得VIP列表並獲得與這些VIP相關的服務器列表。但是,一些VIP擁有與之相關的服務組。這是我遇到問題的地方。當我到達一個有服務組的VIP時,我得到一個空的異常錯誤。我不確定服務組信息存儲在VIP中的位置。這裏是我的代碼:Netscaler Nitro API無法獲取服務組

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,但它始終是空,無論是否存在與VIP相關聯的服務組或服務器。

我也嘗試過只獲取沒有VIP的服務組,但lbvserver_servicegroup_binding只需要2個參數。

回答

1

我想通了。

我在我的foreach之前定義了我的servicegroup。

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

然後添加一個if serviceGroups!= NULL