我想写出SOAP Web服务的传入请求。事实证明我的Application_BeginRequest事件没有被触发。它运行在IIS6& Windows 2003,所以其他地方推荐的配置更改没有任何效果。
protected void Application_BeginRequest(object sender,EventArgs e) { 尝试 { byte [] inputBytes = new byte [HttpContext.Current.Request.ContentLength];
HttpContext.Current.Request.InputStream.Position = 0;
HttpContext.Current.Request.InputStream.Read(inputBytes, 0, inputBytes.Length);
string requestString = ASCIIEncoding.ASCII.GetString(inputBytes);
Logger.Write("input: " + Convert.ToString(inputBytes.Length), Global.LOGGER_EVENT_SOURCE, 0, 0, TraceEventType.Warning);
using (var writer = new StreamWriter(@"c:\inetpub\wwwroot\requests\testfile - " + DateTime.Now.ToString("MMddYYYYhhmmssffff") + ".xml"))
{
writer.Write(requestString);
writer.Close();
}
// Reset stream pointer to beginning.
HttpContext.Current.Request.InputStream.Position = 0;
}
catch (Exception ex)
{
// Error handling; omitted here.
}
}
如果我把它放在被调用的Web服务方法中,代码'几乎'可以工作;文件已创建,但请求的内容长度为“0”。
感谢您的任何建议。
答案 0 :(得分:0)
此问题的最可能原因是该网站未设置为应用程序。