【发布时间】:2018-02-11 22:37:47
【问题描述】:
我创建了一个在我的本地系统上运行的WEB API。但是在服务器上部署它之后,它给了我下面的错误/异常。
{"Message":"发生错误。","ExceptionMessage":"序列 不包含 元素","ExceptionType":"System.InvalidOperationException","StackTrace":" 在 System.Linq.Enumerable.First[TSource](IEnumerable
1 source)\r\n at System.Linq.Queryable.First[TSource](IQueryable1 源)\r\n 在 ActualWebService.Controllers.MetersController.GetByMsn(字符串 msn, 日期时间 dt)"}
我正在服务器和本地系统中的邮递员上检查它
下面是我的代码
public HttpResponseMessage GetByMsn(string msn, DateTime dt)
{
try
{
var result = medEntitites.tj_xhqd.Where(m => m.zdjh == msn)
.OrderByDescending(o => o.sjsj)
.Select(s => s.sjsj)
.First();
DateTime resulted = new DateTime();
DateTime userSent = new DateTime();
resulted = Convert.ToDateTime(result);
userSent = Convert.ToDateTime(dt);
double diff = Math.Abs((resulted - userSent).TotalMinutes); // here i am checking the difference between the user sent datetime and resulted date time
if (diff <=10)
{
return Request.CreateResponse(HttpStatusCode.OK, new { data = new { Response = "Yes"} });
}
else
{
return Request.CreateResponse(HttpStatusCode.OK, new { data = new { Response = "No" } });
}
}
catch (Exception ex)
{
return Request.CreateErrorResponse(HttpStatusCode.NotFound, ex);
}
}
WebApiConfig
config.Routes.MapHttpRoute(
name: "GetByMsn",
routeTemplate: "api/{controller}/{action}/{msn}/{dt}",
defaults: null,
constraints: new { msn = @"^[0-9]+$" , dt = @"^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$" }
);
服务器本地网址: http://localhost:8080/api/meters/GetByMsn/0002999000536/2017-10-21T18:26:08
我不知道为什么这个 API 不工作 LIVE 因为它在本地系统上工作。它也应该在服务器上工作。
任何帮助将不胜感激
【问题讨论】:
标签: c# linq asp.net-web-api2