我的MVC3 / EF6 Webapi抛出间歇性500错误,可能是数据库连接问题?

时间:2017-05-05 07:07:27

标签: c# asp.net-mvc asp.net-mvc-3 asp.net-web-api entity-framework-6

我有一个(继承自以前的编码器)使用Entity Framework(6.1.3)的ASP.NET MVC3 webapi,我不相信它是正确执行的。主要是因为看似缺乏USING方法。

问题

我认为它没有正确执行的原因是因为这个put方法被调用很多(通过各种外部服务器上的计划任务)。通常census_df['original index'] = census_df.index 会返回id。然后将再次运行并在下次运行计划任务时正确处理。

守则

Controller 500 internal server error如下:

MyApiController

现在,存储库public class MyApiController : ApiController { static readonly IMyApiRepository myApiRepository = new MyApiRepository(); public HttpResponseMessage PutData(int id, int id2) { if(!myApiRespository.Update(id, id2)) { return Request.CreateErrorResponse(HttpStatusCode.NotFound, "Error:Unable to Update"); } else { return Request.CreateResponse(HttpStatusCode.OK); } } } 如下

MyApiRepository

对我来说,数据库连接是永久打开的,并且有太多东西试图同时使用它。

public class MyApiRepository : IMyApiRepository { MyDBContext myContext; public MyApiRepository() { myContext = new MyDBContext(); } public bool Update(int id,int id2) { var myData = myContext.MyData.Where(x => x.id == id); if (myData.Count() > 0) { MyData temp = myData.SingleOrDefault(); temp.Processed = true; myContext.SaveChanges(); return true; } else { return false; } } } 构造函数实际上应该为空

ApiRepository

public MyApiRepository() { } 方法

Put

从而为每个请求打开一个连接?

0 个答案:

没有答案