HttpApplication.BeginRequest事件中,如何读取整个原始请求正文?当我试图阅读它时,InputStream的长度为0,这让我相信它可能已经被ASP阅读过了.网

我try 这样读取InputStream:

using (StreamReader reader = new StreamReader(context.Request.InputStream))
{
    string text = reader.ReadToEnd();
}

但我得到的只是一个空字符串.我已经将位置重置回0,但是当然,一旦流被读取,它就永远消失了,所以这不起作用.最后,判断流的长度返回0.

Edit:这是用于邮寄请求.

推荐答案

以下是我最后做的:

//Save the request content. (Unfortunately it can't be written to a stream directly.)
context.Request.SaveAs(filePath, false);

Asp.net相关问答推荐

SqlBulkCopy 超时

Automapper - 映射器已初始化错误

如何在页面的基类中执行 Page_Load()?

无法从 App_code 文件夹中找到类型或命名空间

如何在 ASP.NET Web API 中使用非线程安全的 async/await API 和模式?

在 ASP.NET Core 1.0 上处理大文件上传

ASP.NET 日期时间 Select 器

HttpModules 的执行顺序是如何确定的?

ASP.NET IIS Web.config [内部服务器错误]

使 Web.config 转换在本地工作

GMT 和 UTC 一样吗?

如何避免 ASP.NET MVC 中的 HttpRequestValidationException 呈现导致异常的相同视图

ASP.net 中是否有 after Page_Load 事件

如何强制 netwtonsoft json 序列化程序将 datetime 属性序列化为字符串?

ContentResult 与字符串

asp.net core 2.0 - 值不能为空.参数名称:连接字符串

ModalPopupExtender OK 按钮单击事件未触发?

获取 POST 变量

如何在 ASP.NET 响应中传递大文件?

在 ASP.NET 中使用 SecureString 有什么好处吗?