当我尝试通过Swagger调试我的一个api时,我遇到了一个奇怪的问题。如果我删除调试器点,swagger会自动关闭而不显示输出。但是,如果我添加调试器点,调试器会停止工作,并显示一个弹出窗口,显示消息the target process exited with code 1073741819 while evaluating a function
。
下面是我提到的弹出窗口:
下面是我遇到这个问题的API:
[HttpGet("feerate")]
public async Task<ActionResult<ResponseVM>> GetFeeRate(FeeName feeName, FeeSchedule feeSchedule, FeeUnit feeUnit, int vcu)
{
try
{
var rv = await service.GetFeeRate(feeName, feeSchedule, feeUnit, vcu);
return Ok(new ResponseVM
{
success = true,
data = rv,
message = "Fee rate fetched successfully"
});
}
catch (Exception ex)
{
return Ok(new ResponseVM
{
success = false,
message = ex.Message
});
}
}
服务功能如下:
public async Task<PaginatedResponseVM<FeeScheduleDto>> GetFeeRate(FeeName feeName, FeeSchedule feeSchedule, FeeUnit feeUnit, int vcu)
{
var accQueryList = _dbContext.FeeSchedule.Where(x => x.FeeSchedule == feeSchedule);
accQueryList = accQueryList.Where(x => x.FeeName == feeName);
accQueryList = accQueryList.Where(x => x.FeeUnit == feeUnit);
accQueryList = accQueryList.Where(x => x.TierStart <= vcu);
accQueryList = accQueryList.Where(x => x.TierEnd > vcu);
var count = await accQueryList.CountAsync();
var items = _mapper.Map<List<FeeScheduleDto>>(await accQueryList.ToListAsync());
var returnView = new PaginatedResponseVM<FeeScheduleDto>(count, items);
return returnView;
}
下面是我试图解决它:
1.已重新启动我的电脑
1.升级的Visual Studio版本
1.通过控制面板修复Visual Studio
1.已清理解决方案并重新生成
但问题仍然存在,那么有没有人面临过类似的问题,以及它是如何解决的?
任何帮助都将不胜感激。
1条答案
按热度按时间irlmq6kh1#
谢谢大家的回复和见解。但是,问题出在我的枚举上,我在Dto文件中使用的方式不对。正如弹出错误所述,我不得不一遍又一遍地检查,最后纠正我愚蠢的错误。所以,当枚举被转换为字符串时,枚举变量应该被转换为字符串,而不是返回的字符串变量本身。下面是正确的方法:
这就是我犯下愚蠢错误的地方
把我的答案贴在这里,让其他人和我一样犯同样的错误。