我写了一个定时服务每隔一分钟去调用接口获取数据库里面的数据并进行数据推送,我这个接口在本地跑的时候是可以推送的,到了编译后测试人员服务启动跑起来后,一直提示没有数据,数据库连接地址也是正常的,配置文件也没有问题,目前初步确认是空指针的问题。
抛出异常提示
///
/// 整车信息
///
public void UploadQMS()
{
try
{
WriteLocalLog("[#] 开始接口调用...");
var sendList = CarLoadToQmsService.Common.Helper.SQLHelper.GetQMSInfo();
if (sendList == null)//一直提示这个集合没有数据,但是数据库查询出来又是有的
{
WriteLocalLog("本次没有数据需上传。");
}
List<string> sucessList = new List<string>();
foreach (var v in sendList)
{
//逐条调用
if (UploadData(v))
{
sucessList.Add(v.VIN_Code);
};
}
WriteLocalLog("[#] 完成接口调用...");
System.Threading.Thread.Sleep(_UploadRate);
}
catch (Exception ex)
{
WriteLocalLog("[!] 同步异常: " + ex.ToString());
System.Threading.Thread.Sleep(_UploadRate);
}
}
///
/// 查询整车信息
///
///
public static List GetQMSInfo()
{
List list = new List();
try
{
string sql;
sql = "SELECT a.*,b_Vehicle_ID "
+ "FROM [dbo].[数据表] a"
+ " join [数据表] b"
+ " on a.Car_model=b.cxh"
+ " where b.Brand='岚图牌'"
+ " and IF_STATUS='2'";
DataTable dt = acc.GetDataTable(sql);
list = CarLoadToQmsService.Common.Helper.EntityHelper.DatatableToEntity(dt);
return list;
}
catch (Exception)
{
Log.Log.AddLocalLog(Log.Log.LogType.Info, "数据查询异常:请检查返回的结果\r\n" + list);
throw new Exception("查询数据接失败");
}
}
集合为空没有数据
2023-01-31 00:00:53:[#] 开始接口调用...
2023-01-31 00:00:53:异常:System.Net.WebException: 未能解析此远程名称: 'cook-ap1.test.dongfeng-nissan.com.cn'
在 System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
在 System.Net.HttpWebRequest.GetRequestStream()
在 CarLoadToQmsService.RestfulClient.HttpRequest(String parameters) 位置 d:\CarLoadToQmsService\CarLoadToQmsService\RestfulClient.cs:行号 117
在 CarLoadToQmsService.RestfulClient.HttpRequest() 位置 d:\CarLoadToQmsService\CarLoadToQmsService\RestfulClient.cs:行号 94
在 CarLoadToQmsService.ServiceSupport.UploadData(tQmsModel postData) 位置 d:\CarLoadToQmsService\CarLoadToQmsService\ServiceSupport.cs:行号 108
2023-01-31 00:00:53:[#] 完成接口调用...
2023-01-31 00:01:53:[#] 开始接口调用...
数据库地址错或者是空指针
查询到数据并推送至接口
看你的报错信息是网络请求报错,你这个描述的不完整
防火墙需要打洞
serversupport第72行是什么