Application_BeginRequest未触发(NOT URL重写)

时间:2013-12-13 20:54:04

标签: asp.net web-services httprequest global-asax

我想写出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”。

感谢您的任何建议。

1 个答案:

答案 0 :(得分:0)

此问题的最可能原因是该网站未设置为应用程序。