IIS 7记录Web服务方法

Lif*_*his 7 asp.net iis iis-7 web-services asmx

我有一个在IIS 7下托管的Web服务(不是WCF服务),Web服务有两个方法:method1和method2.

我想在不修改Web服务代码的情况下区分method1的请求和方法2的请求.

在IIS 7日志下,我可以看到对Web服务的请求,Web服务URL记录在"cs-uri-stem"字段下,但"cs-uri-query"字段为空.

无论如何都要记录Web服务方法的请求,而不修改Web服务代码?

Wik*_*hla 3

您可以在处理管道的各种方法中记录所有传入请求。例如,BeginRequest在您的中添加一个处理程序Global.asax

Application_BeginRequest( object sender, EventArgs e )
{
    HttpApplication app = (HttpApplication)sender;
    HttpContext ctx = app.Context;

    var requestUrl = ctx.Request.Url;

    // the uri should be of a form:
    // http://yoursite/theservice.asmx/MethodName
}
Run Code Online (Sandbox Code Playgroud)

  • 我不想修改应用程序代码,应用程序已经在生产环境上运行...我想知道是否有办法从 IIS 级别做到这一点! (2认同)