对控制器操作的调用在执行后保持运行

本文关键字:运行 执行 控制器 操作 调用 | 更新日期: 2023-09-27 18:22:26

我有一个控制器,它有一个新创建的操作:

[HttpGet]
[Route("api/personintern/checkname/{dossierId}/{id}")]
public IHttpActionResult CheckName(Guid dossierId, Guid id)
{
    try
    {
        var start = DateTime.Now;
        var result = this.Manager.CheckName(dossierId, id);
        if (result == null)
            return NotFound();
        var end = DateTime.Now;
        var seconds = (end - start).TotalSeconds;
        return Ok(result);
    }
    catch (Exception ex)
    {
        this.LogManager.Error(ex);
    }
    return NotFound();
}

如果我在return Ok(result)行上放置一个断点,秒时间跨度表示操作在大约3秒内执行,这对于这个特定的请求来说是正常的。

然而,一旦我放手,页面就会继续加载,即使操作已经成功完成。

是什么导致了这种情况?我该怎么做才能找到它?

对控制器操作的调用在执行后保持运行

将作为EF记录实例的this.Manager.CheckName(dossierId, id)的结果转换为DTO模型对象修复了它。我构建的旧业务代码返回了EF实例,我认为它是一个业务对象,因为名称空间非常混乱!

感谢约夫为我指明了正确的方向。