C# ASP.NET Web API 2 ApicController.Ok()不工作,导致超时

C# ASP.NET Web API 2 ApicController.Ok()不工作,导致超时,c#,asp.net,entity-framework-6,asp.net-web-api2,C#,Asp.net,Entity Framework 6,Asp.net Web Api2,当客户端应用程序发出请求时,超时发生。 我设置了断点来检查控制器方法中的参数输入是否正确,看起来很好 即使过了一段时间,System.AccessViolationException仍会发生,我的应用程序也会崩溃 我的控制器代码在这里 namespace REST_API_EX.Controllers { public class DeliveriesController : ApiController { private DatabaseContext db

当客户端应用程序发出请求时,超时发生。 我设置了断点来检查控制器方法中的参数输入是否正确,看起来很好

即使过了一段时间,System.AccessViolationException仍会发生,我的应用程序也会崩溃

我的控制器代码在这里

namespace REST_API_EX.Controllers 
{
    public class DeliveriesController : ApiController
    {
        private DatabaseContext db = new DatabaseContext();

        [ResponseType(typeof(Delivery))]
        public async Task<IHttpActionResult> GetDeliveryByOrder_No(string Order_No)
        {
            Delivery delivery = await db.Deliveries
                .Where(d => d.Order_No == Order_No)
                .FirstAsync();
            if (delivery == null)
            {
                return NotFound();
            }
            return Ok(delivery);
        }
    }
}
因为您使用的是EF6。 试一试


因为EF尝试加载引用,但最终在其中循环。

传递类是什么样子的?这些问题通常与具有循环引用的复杂对象结构或许多嵌套导航属性有关,在json中序列化时会造成很大的问题。为了排除这类问题,我强烈建议您将返回类型映射到更简单的对象中,只包含客户端所需的属性。
public class DeliveriesController : ApiController{
db.Configuration.LazyLoadingEnabled = false

// Your Code

}