调用控制器操作将继续执行后执行

时间:2015-11-18 13:16:02

标签: c# .net asp.net-mvc asp.net-web-api2

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

[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秒内执行,这对于此特定请求是正常的。

但是,只要我放手,页面就会继续加载,即使操作已成功完成。

造成这种情况的原因是什么,我该怎么做才能找到它?

1 个答案:

答案 0 :(得分:1)

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

感谢Jehof指出我正确的方向。