Asp.net core 错误-32 EPIPE断开管道
我正在使用ajax执行post请求,该请求应返回partialview,但我在日志中始终收到以下错误:Asp.net core 错误-32 EPIPE断开管道,asp.net-core,Asp.net Core,我正在使用ajax执行post请求,该请求应返回partialview,但我在日志中始终收到以下错误: Connection id "0HL6PHMI6GKUP" communication error. Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvException: Error -32 EPIPE broken pipe 当查看调试日志时,我看到它正在加载partialview数据,但是我得到了错误 我在网上找不到关于
Connection id "0HL6PHMI6GKUP" communication error.
Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvException: Error -32 EPIPE broken pipe
当查看调试日志时,我看到它正在加载partialview数据,但是我得到了错误
我在网上找不到关于-32 EPIPE错误的任何信息,有人能帮我解释一下这个错误的含义吗
Ajax调用
$( "#PostForm" ).submit(function( event ) {
//Ajax call
$.ajax({
type: 'POST',
url: "/url/path/CreateBox",
data: {
"id": $("#RackId").val(),
"Name": $("#Name").val()
},
success: function(result){
$("#modal").html(result);
}
});
});
控制器
[HttpPost]
public async Task<IActionResult> CreateBox(int id, string Name)
{
//Get the info of the given ID
Rack rack = await this._rackAccess.GetByIdAsync(id);
if (rack == null)
{
return NotFound();
}
Box box = new Box();
box.Rack = rack;
if (!string.IsNullOrEmpty(Name))
{
box.Name = Name;
var result = await this._boxAccess.InsertAsync(box);
//Returns a list of boxes
return PartialView("Boxes", await this._boxAccess.ToRackListAsync(rack.ID));
}else{
//Returns form again
return PartialView("CreateBox", box);
}
}
可能是由于服务器端处理时间长, 通讯管道被超时机制破坏
希望这有帮助。可能是由于服务器端处理时间长, 通讯管道被超时机制破坏
希望这有帮助。如果我也发布了问题,可以在github上找到解决方案: 关于github上halter73的回答: “通信错误”通常有EconReset、EPIPE和eConceled类型。您通常会选择哪一个,这取决于您运行的平台,但这三个平台通常都意味着同一件事:客户端错误地关闭了连接 我有一个理论,为什么会发生这种情况。我认为页面可能在xhr中被重新加载,导致xhr被中止。这可以通过从jQuery提交回调返回false来修复
我收集了您所有的依赖项和jQuery代码片段,并在示例repo中演示了此页面重新加载如何在linux上导致EPIPE,在Windows上导致eConceled。它使用csproj而不是project.json,因为我没有一个支持project.json的旧CLI可以轻松获得。如果我也发布了问题,可以在github上找到解决方案: 关于github上halter73的回答: “通信错误”通常有EconReset、EPIPE和eConceled类型。您通常会选择哪一个,这取决于您运行的平台,但这三个平台通常都意味着同一件事:客户端错误地关闭了连接 我有一个理论,为什么会发生这种情况。我认为页面可能在xhr中被重新加载,导致xhr被中止。这可以通过从jQuery提交回调返回false来修复
我收集了您所有的依赖项和jQuery代码片段,并在示例repo中演示了此页面重新加载如何在linux上导致EPIPE,在Windows上导致eConceled。它使用csproj而不是project.json,因为我没有一个支持project.json的旧CLI可以轻松使用。这是一直发生的还是某个时候发生的?您能在configure和configureservice方法中输入一些显示控制器和任何特定配置的代码吗?另一个建议是,请尝试从控制器操作返回其他内容?这种情况经常发生。我在问题中添加了控制器方法。该方法能够调用partialview“box”(我可以在日志中看到这一点,因为它正在获取在box部分视图中调用的本地化数据)+数据已成功插入数据库。没有向configureservice添加任何特殊内容。我还用一个简单的partialView“Test”测试了它,它只返回“thisatest”,但仍然是同一个错误。这是一直发生的还是某个时候发生的?您能在configure和configureservice方法中输入一些显示控制器和任何特定配置的代码吗?另一个建议是,请尝试从控制器操作返回其他内容?这种情况经常发生。我在问题中添加了控制器方法。该方法能够调用partialview“box”(我可以在日志中看到这一点,因为它正在获取在box部分视图中调用的本地化数据)+数据已成功插入数据库。没有向configureservice添加任何特殊内容。我还用一个简单的partialView“Test”测试了它,它只返回“thisatest”,但仍然是相同的错误。
Aspnet core: 1.1.0
"Microsoft.AspNetCore.Server.Kestrel": "1.1.0"
"Microsoft.AspNetCore.Hosting": "1.1.0",