2

默认情况下HttpWebRequestAllowWriteStreamBuffering设置为 true,这意味着写入请求流的所有数据都缓存在对象内部。

我想在写入此数据缓冲区后访问它,但似乎找不到任何方法。AllowWriteStreamBuffering如果是假的,我很高兴它失败。

有没有办法做到这一点,或者它没有暴露在任何地方?


至于我为什么要这样做:我正在编写一个 OAuth 请求签名类,不幸的是,该协议要求将任何形式编码的主体视为签名的一部分。因此,如果它是一种形式编码的主体,我需要能够访问它。

4

1 回答 1

0

AllowWriteStreamBuffering 使用内部机制。缓冲区不暴露给调用者。它允许初始请求被重定向或拒绝身份验证的情况,在这种情况下,WebRequest 可以将数据自动发布到新端点,而不必使请求失败并要求调用者重新提交。

您应该找到一种不同的方式来获取流。也许您可以先将其缓冲到您自己的缓冲区(即 MemoryStream)中。执行必要的操作,然后将该流刷新到 WebRequest 的 requestStream。

于 2010-04-09T20:47:09.520 回答