У меня есть основной стандарт на складе 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
});
}
Он работает 100% штрафа на моем Dev системы (Windows 10 Pro, VS 2015 Вт/IIS Express, DNVM 1.0.0-rc1-update1).
Однако, когда я запустил его на Windows Server 2012 R2 через виртуальную машину, я получу 1 успешный запрос на 10-20 неудачных запросов.
Вот пример входа, что я буду получать:
<!-- 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
Кто-нибудь сталкивались с аналогичными/Есть любые предлагаемые исправления, которые могли бы решить эту проблему/Были ли отлаживать намеки, связанные с этим?
пожалуйста, проверьте ниже пост. Не уверен, может ли он помочь: http://stackoverflow.com/questions/34985520/asp-net-5-controller-method-cant-receive-json-post-asp-net-4-controller-method –
@BalaSakthis давая ему шанс, даст вам знать, как это происходит. – JosephGarrone
@BalaSakthis вы легенда! Благодаря! – JosephGarrone