gpt4 book ai didi

asp.net - 如何记录在 IIS 6.0 上运行的 WebService 的通信?

转载 作者:行者123 更新时间:2023-12-03 19:38:37 24 4
gpt4 key购买 nike

我在 IIS 6.0 上运行 ASP.NET WebService,它在 %systemroot%\System32\LogFiles\W3SVC1 的日志中显示大量 HTTP 500(可能只是 WebService 的异常)在客户网站上。

是否可以在不使用 IIS 或 IIS 插件修改 WebService 的情况下记录这些 HTTP 响应和请求的内容?

我想到了使用 WiresharkFiddler嗅探 HTTP 流量,但我更愿意只打开 IIS 中的一个选项,让他记录通信(这应该不难,因为它无论如何都会记录请求的 URL)

最佳答案

我们在使用 log4net 之前已经这样做了.以下是高级步骤:

在您的 web.config 中创建一个 log4net 部分

<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>

和...

...
</system.web>
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender,log4net">
<param name="File" value="c:\mysvc.log" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="10" />
<param name="MaximumFileSize" value="1000000" />
<param name="RollingStyle" value="Size" />
<param name="StaticLogFileName" value="true" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
</layout>
</appender>
<!-- Setup the root category, add the appenders and set the default priority -->
<root>
<level value="DEBUG" />
<!--<priority value="DEBUG" />-->
<appender-ref ref="RollingLogFileAppender" />
</root>
</log4net>

...

在您的 Global.asax.cs 中调用 log4net Configure()

protected void Application_Start(Object sender, EventArgs e)
{
log4net.Config.DOMConfigurator.Configure();
}

在您的网络服务 .cs 文件的顶部,声明一个 log4net ILog 实例

public class MyService : System.Web.Services.WebService {
{
private static readonly ILog log = LogManager.GetLogger(typeof(MyService));

在您的网络服务方法中,捕获异常并记录它们

[WebMethod]
public void DoSomething()
{
try
{
// business logic
}
catch(Exception ex)
{
log.Error("Something bad happened", ex);
throw;
}
}

完成这些步骤后,在上面的示例中,任何异常都将出现在 c:\mysvc.log

关于asp.net - 如何记录在 IIS 6.0 上运行的 WebService 的通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2628305/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com