我有一个MVC控制器,我想接受HTTP正文中的有效负载。 发送的文件可能非常大,所以我想使用Stream。
通过HTTP,它运行良好,但通过HTTPS,读取流需要很长时间。 即使像下面的代码那样愚蠢的东西,16MB的有效载荷也需要35秒。
var s = HttpRequest.InputStream
我尝试HttpRequest.InputStream
以及HttpRequest.GetBufferlessStream()
,但最终效果相同。
以下是我的CPU使用率图表。使用率高的部分在读取之后发生,并且我的进一步处理完成。但这个低CPU使用率部分让我感到困扰。
凯文写的内容很有道理。 这是另一个图表,比较了Postman上的执行请求和我的应用程序在IIS上的CPU使用情况。显然有一点是通过HTTPS传输停止并开始实际工作。