我想要做的只是从存储过程(MS SQL)向Web API调用者发送一个(大)json输出(用于json路径)。我使用http://jocapc.github.io/Belgrade-SqlClient/aspnet.html来请求 SQL Server。这是因为我读了这篇文章:https ://www.codeproject.com/Articles/1106622/Building-REST-services-with-ASP-NET-Core-Web-API-a Firefox 收到结果(纯文本,无格式json),但请求永远不会结束。PostMan 没有显示任何结果。
public HttpResponseMessage Get(int rows)
{
ICommand cmd = new Command(connStr);
HttpResponseMessage response = Request.CreateResponse();
response.Content = new PushStreamContent(async (stream, content, context) =>
{
await cmd
.Proc("cuh.GetADDRESSES")
.Param("@rows", rows)
.Stream(stream, "[]");
}, "application/json");
//response.Headers.TransferEncodingChunked = true;
return response;
}
我读到,当请求结束时流未关闭时,可能会发生这种情况。但我不知道在这种情况下该怎么做。任何其他处理来自存储过程的 json 输出的工作方法将不胜感激。另一个方向也一样:通过 nvarchar(max) 参数将 JSON 直接写入带有存储过程的数据库(存储过程代码不是我的问题)。