【发布时间】:2016-05-01 08:49:18
【问题描述】:
我有基本的库存标准ASP.Net 5 (ASP NET Core 1) MVC 6 (MVC Core 1) 控制器,但只有一种方法让我很伤心。
这里是有问题的方法:
// Get the table data
[HttpPost("data/{requestedTable}")]
public IActionResult GetTableData(string requestedTable, [FromForm] DataTableData post)
{
_logger.LogInformation($"About to process {requestedTable}");
_logger.LogInformation($"Draw {post.Draw}, Start {post.Start}");
if (!SQL.ValidTable(requestedTable))
{
return new ErrorObjectResult("Invalid table name specified");
}
var count = post.Length;
var start = post.Start;
var search = post.Search.Value;
var draw = post.Draw + 1;
var recordsTotal = new SQL()
.WithCount()
.AllData(requestedTable)
.FirstOrDefault()["COUNT"];
var recordsFiltered = new SQL()
.WithCount()
.WithSearch(search)
.WithNavigation()
.AllData(requestedTable)
.FirstOrDefault()["COUNT"];
var data = new SQL()
.WithLimit(count, start)
.WithSearch(search)
.WithNavigation()
.OrderBy(OrderHelper.Convert(post))
.EnableDataTable()
.AllData(requestedTable);
_logger.LogInformation($"Got: {recordsTotal}, {recordsFiltered}, {data.Count()}");
return new CustomObjectResult(new {
draw = draw,
recordsTotal = recordsTotal,
recordsFiltered = recordsFiltered,
data = data
});
}
它在我的开发系统(Windows 10 Pro、VS 2015 w/IIS Express、DNVM 1.0.0-rc1-update1)上运行良好 100%。
但是,当我通过虚拟机在 Windows Server 2012 R2 上运行它时,我会在大约 10-20 个失败请求中获得 1 个成功请求。
这是我将收到的示例日志:
<!-- GOOD REQUEST -->
info: Microsoft.AspNet.Hosting.Internal.HostingEngine[1]
Request starting HTTP/1.1 POST http://<removed>/api/backend/datatable/data/AncillaryShiftReport application/x-www-form-urlencoded; charset=UTF-8 2266
info: ProdManSys.Middleware.AuthRemapping[0]
Auth remap starting
info: ProdManSys.Middleware.AuthRemapping[0]
SID is currently S-1-5-21-xxxxx....
info: Microsoft.AspNet.Mvc.Controllers.ControllerActionInvoker[1]
Executing action method ProdManSys.Controllers.Api.Backend.DataTableController.GetTableData with arguments (AncillaryShiftReport, ProdManSys.Controllers.Api.Backend.Helpers.DataTableData) - ModelState is Valid'
info: ProdManSys.Controllers.Api.Backend.DataTableController[0]
About to process AncillaryShiftReport
info: ProdManSys.Controllers.Api.Backend.DataTableController[0]
Draw 1, Start 0
info: Microsoft.AspNet.Hosting.Internal.HostingEngine[2]
Request finished in 0.0016ms 200
info: ProdManSys.Controllers.Api.Backend.DataTableController[0]
Got: 18, 18, 10
<!-- BAD REQUEST -->
info: Microsoft.AspNet.Hosting.Internal.HostingEngine[1]
Request starting HTTP/1.1 POST http://<removed>/api/backend/datatable/data/AncillaryShiftReport application/x-www-form-urlencoded; charset=UTF-8 2266
info: ProdManSys.Middleware.AuthRemapping[0]
Auth remap starting
info: ProdManSys.Middleware.AuthRemapping[0]
SID is currently S-1-5-21-xxxxx....
info: Microsoft.AspNet.Hosting.Internal.HostingEngine[2]
Request finished in 0ms 200
有没有人遇到过类似的问题/有任何建议的修复方法可以解决这个问题/有任何与此相关的调试提示吗?
【问题讨论】:
-
请查看以下帖子。不确定是否有帮助:stackoverflow.com/questions/34985520/…
-
@BalaSakthis 试一试,会告诉你进展如何。
-
@BalaSakthis 你的传奇!谢谢!
-
很高兴你得到了解决方案 :)
标签: c# asp.net-core asp.net-core-mvc