以前我一直在使用JsonConvert.Serialize(oMyTable)序列化DataTables,版本6.0.8工作正常,我今天更新到7.0.1,如果我通过网站上的调用运行我的webservice方法,返回值与以前一样。但是,如果我从应用程序调用完全相同的Web服务实例,它就不会调用DataTableConverter,而是获得包含DataTable对象的所有属性的序列化结果。它似乎没有运行DataTableConverter,其他任何人有类似的问题?是的,DataTable有行,它也有一个名称。我注意到7.0.1版本中提到的DataTableConverter有一些变化,做了一些改变会导致转换器不像之前那样被调用?
由于 艾伦
之前有效的代码(并且仍然使用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 :(得分:0)
我也遇到了旧版本但在最新版本中没有的代码问题。我刚回滚,在Nuget上你仍然可以安装旧版本,这很不错!