public class ExampleHttpModule : IHttpModule
{
public void Init(HttpApplication context)
{
context.EndRequest += Context_EndRequest;
}
private void Context_EndRequest(object sender, EventArgs e)
{
newRequest = (HttpWebRequest)WebRequest.Create(someWebServiceUrl);
newRequest.ContentType = "application/json; charset=utf-8";
http.Request.InputStream.Position = 0;
using (var newReqStream = newRequest.GetRequestStream())
http.Request.InputStream.CopyTo(newReqStream);
}
}
当我将请求的输入流复制到新的请求流时,它什么都不做-我的意思是newReqStream处于位置-1,不包含任何内容。我的JSON格式有效(已检查)。上面的代码适用于XML。
编辑:问题已解决-复制InputStream没错。我不得不在接受新请求的其他Web服务(someWebServiceUrl)中将InputStream的Position重置为0。