Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 错误-32 EPIPE断开管道_Asp.net Core - Fatal编程技术网

Asp.net core 错误-32 EPIPE断开管道

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数据,但是我得到了错误 我在网上找不到关于

我正在使用ajax执行post请求,该请求应返回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",