【发布时间】:2020-03-30 17:38:36
【问题描述】:
startup.cs
services.AddMvc().AddJsonOptions(options =>
{
options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
}).SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
以下是 web api 应用程序在部署到生产环境时返回的示例响应 json。在本地主机中,我正在获取“lastHourData”、“lastHourBeforeData”的数据,但不是在生产中。
[{
"currentData": {
"id": "213123123esdwq23d",
"payload": [
{
"key": "sdfsdf",
"value": "T"
}
]
},
"lastHourData": null,
"lastHourBeforeData": null
},
{
"currentData": {
"id": "sdfdsf",
"payload": [
{
"key": "gf",
"value": "T"
}
]
},
"lastHourData": null,
"lastHourBeforeData": null
}]
下面是方法,CurrentData、LastHourData 和 LastHourBeforeData 各有 250 个属性。
public async Task<ComepletePanel> GetCompletePanelData(string id)
{
var queryRequest = RequstBuilder(id);
var result = await queryRequest;
var currentResult = result.Items.Select(Map2).FirstOrDefault();
var queryRequest2 = getlastHourDataForMasterPanelBuilder(id);
var result2 = await queryRequest2;
var currentResult2 = result2.Items.Select(Map2).FirstOrDefault();
var queryRequest3 = getlastBeforHourDataForMasterPanelBuilder(id);
var result3 = await queryRequest3;
var currentResult3 = result3.Items.Select(Map2).FirstOrDefault();
var completData = new ComepletePanel
{
CurrentData = currentResult,
LastHourData = currentResult2,
LastHourBeforeData = currentResult3
};
return completData;
}
下面是控制器方法
public async Task<IEnumerable<ComepletePanel>> GetCustBoilersByCustId2(int id)
{
try
{
var recordData= await _context.table.ToListAsync();
List<ComepletePanel> resultData= new List<ComepletePanel>();
foreach (var b in recordData)
{
var CurrentResponse = await _getItem.GetCompletePanelData(b.id);
resultData.Add(CurrentResponse);
}
return resultData;
}
catch (Exception ex)
{
_logger.LogError($"Failed to get all customers {ex}");
return null;
}
}
【问题讨论】:
-
PROD 中有 LastHourData 和 LastHourBeforeData 的数据吗?
-
同一张桌子。只需为它们添加不同的日期时间条件。在本地主机中它正在工作,而在生产中它不是。两种环境都使用相同的数据库和相同的表
-
如果您获取的是数据的第一部分而不是其余部分,并且它在本地主机中工作,那么它与某种服务器设置/截止值有关。我将减少数据的大小和/或控制台写入/如果'null',看看是否有任何东西到达你的方法。
标签: c# asp.net-mvc entity-framework asp.net-core asp.net-web-api