【发布时间】:2017-06-01 18:26:02
【问题描述】:
当客户端应用程序请求时,会发生超时。 我设置断点检查参数是否在控制器方法中输入良好,看起来很好。
即使过了一段时间,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);
}
}
}
【问题讨论】:
-
Delivery类是什么样的? -
这类问题通常与复杂的对象结构有关(带有循环引用或许多嵌套的导航属性),在 json 中序列化时会造成很大的麻烦。为了排除这类问题,我强烈建议您将返回类型映射到更简单的对象中,其中仅包含客户端所需的属性。
标签: c# asp.net entity-framework-6 asp.net-web-api2