【发布时间】:2016-03-29 06:08:54
【问题描述】:
我有一个使用 Owin 的自托管 ASP.NET Web Api 项目,我无法弄清楚为什么响应似乎需要很长时间才能获得响应。我看到 600KB 的数据需要 20 秒以上的时间。为了测试它不是机器,我制作了一个快速节点/快速应用程序,它返回相同的数据并部署它,并且需要几毫秒来获取数据。在 Chrome devtools 中,我可以看到 WebApi 响应一次下载千字节,奇怪的是,它似乎每次总是 4KB,而节点服务似乎可以一次获取所有内容。我不知所措。我已经为此奋斗了好几天了。这两个响应具有相同的标题、相同的数据、相同的所有内容。为什么 WebApi 似乎想给我一些难以置信的小数据。
编辑
我们运行我们的 OWIN Web Api 应用程序是 Windows 服务。看来我们选择返回数据的方式导致了问题
HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
result.Content = new StreamContent(new MemoryStream(Encoding.UTF8.GetBytes(data)));
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
return result;
默认流大小似乎是 4KB
【问题讨论】:
-
您需要创建一个Minimal, Complete, and Verifiable example 来说明您要执行的操作。由此,人们可以告诉你你做错了什么。
-
@vendettamit 我知道我在这里发的不够多。我什至不知道要发布什么,我一直在寻找任何东西,但我认为我的朋友只是为我指明了正确的方向。
标签: c# asp.net-web-api owin