【发布时间】:2016-10-03 11:15:36
【问题描述】:
我在这里有一个问题,我知道这对你来说很简单,但实际上我需要逐行了解它的作用..
using (var stream = new MemoryStream())
{
var context = (System.Web.HttpContextBase)Request.Properties["MS_HttpContext"];
context.Request.InputStream.Seek(0, SeekOrigin.Begin);
context.Request.InputStream.CopyTo(stream);
strContent = Encoding.UTF8.GetString(stream.ToArray());
AppLog.Write("Request content length: " + strContent.Length);
}
【问题讨论】:
-
此代码假定传入的 HTTP 请求具有 Utf8 编码的正文并将其复制到字符串中。不过,这个答案对你没有帮助。阅读How to Ask 并解释您要解决的问题。
-
很抱歉问了这样的问题,我不是故意浪费你的时间。谢谢你的帮助编解码器
-
@CodeCaster 它做得很糟糕;调用
stream.ToArray()(除非您知道长度是可管理的,并且您对分配没问题)不是这样做的好方法;同样,无需具体化字符串来查找长度 -Encoding/Encoder具有更有效地做到这一点的机制
标签: c# stream httprequest