2017-09-20 51 views
0

我對NAV有點新,並且迄今爲止我已經在NAV上發佈了Web服務,並且已經能夠使用C#使用這些SOAP Web服務。NAV Web Services使用C#獲取數據的塊數據

現在,數據已經增加,並且其加載時間更長。我有一個使用Datatables查詢塊(如10塊)的數據的想法,但我仍然想出如何設置限制和偏移量。

這裏是我的C#代碼讀取NAV SOAP服務

public string getItemCardList(itemCardService_Service itemCardServiceObj, List<itemCardService_Filter> filter) 
{ 
    serializer.MaxJsonLength = 50000000; 
    return serializer.Serialize(itemCardServiceObj.ReadMultiple(filter.ToArray(), null, 0)); 
} 

回答

0

經過一番搜索幾個我已經得到的[MSDN網站] [https://msdn.microsoft.com/en-us/library/ff477110.aspx]的答案,修改了它爲我工作。

public string holder() 
     { 
      const int fetchSize = 10; 
      string bookmarkKey = null; 

      List<itemCardService> itemList = new List<itemCardService>(); 
      //Read items data in pages of 10 
      itemCardService[] results = itemCardServiceObj.ReadMultiple(filter.ToArray(), bookmarkKey, fetchSize); 
      while(results.Length > 0) 
      { 
       bookmarkKey = results.Last().Key; 
       itemList.AddRange(results); 
       results = itemCardServiceObj.ReadMultiple(filter.ToArray(), bookmarkKey, fetchSize); 
      } 
      serializer.MaxJsonLength = 50000000; 
      return serializer.Serialize(itemList); 
     }