2015-07-02 28 views
0

以前我一直在使用簡單的JsonConvert.Serialize(oMyTable)序列化DataTables,在6.0.8版本中工作得很好,我今天更新到7.0.1,如果我通過運行我的webservice方法在網站上調用,返回值與之前一樣。但是,如果我從應用程序調用完全相同的Web服務實例,則不會調用DataTableConverter,而是獲取包含DataTable對象所有屬性的序列化結果。它似乎不運行DataTableConverter,任何其他人有類似的問題?是的,DataTable有行,它也有一個名字。我注意到了7.0.1版本中提到的DataTableConverter的一些變化,做了一些改變,導致轉換器不能像以前一樣被調用?NewtonSoft JSON.NEt 7.0.1

感謝 艾倫

以前的工作守則(和仍然使用6.0.8):

public string GetZoneConfiguration(int iZoneId) 
{ 
    string sOutput = string.Empty; 

    if (string.IsNullOrEmpty(this.RFIDConnection)) 
    { 
    oLog.Error("{0}, no RFIDConnection value.", System.Reflection.MethodBase.GetCurrentMethod().Name); 
    return sOutput; 
    } 

    DBUtility oDatabase = new DBUtility(this.RFIDConnection); 

    string sSQL = "select zone_id, zone_org, zone_name, zone_type, read_time, read_cycles, sensor_bounce_time, sensor_method, filter, reader_id, reader_name, reader_tcp_address from vw_rfid_zone_readers"; 
    sSQL += " where zone_id = " + iZoneId.ToString() + " and reader_active = 1"; 
    DataTable oTable = new DataTable("ZoneConfiguration"); 
    if (!oDatabase.ReadData(sSQL, ref oTable)) 
    { 
    oLog.Error("{0}, ReadData returned {1}.", System.Reflection.MethodBase.GetCurrentMethod().Name, oDatabase.SQLError); 
    } 
    sOutput = JsonConvert.SerializeObject(oTable); 
    return sOutput; 

}

+0

返回: [{「zone_id」:1,「zone_org」:「RAI」,「zone_name」:「AL Shipping」,「zone_type」:1,「read_time 「:3,」read_cycles「:10,」sensor_bounce_time「:4,」sensor_method「:」GPIOEDGE「,」filter「:」3014DBA424「,」reader_id「:1,」reader_name「:」AL Shipping1「,」reader_tcp_address「 :「TCP://10.115.116.52:2189」},{「zone_id」:1,「zone_org」:「RAI」,「zone_name」:「AL Shipping」,「zone_type」:1,「read_time」 「read_cycles」:10,「sensor_bounce_time」:4,「sensor_method」:「GPIOEDGE」,「filter」:「3014DBA424」,「reader_id」:2,「reader_name」:「AL Shipping2」,「reader_tcp_address」 //10.115.116.53:2189「}]

回答

0

我也有過代碼,在舊版本的工作問題但不在最新版本中。我剛剛回滾,在Nuget上,你仍然可以安裝舊版本,這很好!

相關問題