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;
}
返回: [{“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“}] –