ASP.NET核心异步API控制器返回客户端上的错误连接重置
此代码:ASP.NET核心异步API控制器返回客户端上的错误连接重置,asp.net,asp.net-mvc,asynchronous,Asp.net,Asp.net Mvc,Asynchronous,此代码: using (var conn = new SqlConnection(_strConn)) { conn.Open(); using (var cmd = conn.CreateCommand()) { Response.ContentType = "application/json";
using (var conn = new SqlConnection(_strConn))
{
conn.Open();
using (var cmd = conn.CreateCommand())
{
Response.ContentType = "application/json";
Response.StatusCode = (int)HttpStatusCode.OK;
cmd.CommandText = "SELECT * FROM sometable FOR JSON AUTO";
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
await Response.WriteAsync(reader[0].ToString());
}
await Response.Body.FlushAsync();
}
}
}
在我找到客户之前一切正常。在Chrome中,我在调用此api控制器方法的连接上得到一个ERR_CONNECTION_RESET。响应有效,但套接字关闭似乎是问题所在。数据已通过线路传送
我已尝试从此函数返回多个不同的ActionResults以正确关闭连接,但没有成功
在这一点上,我已经求助于将整个响应加载到内存中,并返回一个JsonResult,它按预期工作,但我现在变成了一个可怕的内存消费者
有什么想法吗?你有没有找到解决办法?此外,如果没有,请更新OP,使其包含完整的公共操作方法(带有函数定义)?