.Net Web服务日志记录

前端之家收集整理的这篇文章主要介绍了.Net Web服务日志记录前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
登录Web服务的理想情况是记录所有方法调用(身份验证和数据访问)以及传递给它们的参数以及可能发生的错误,并将它们与关联的单个ID相关联他们有同样的电话.另外,我希望能够控制是否记录所有参数,或者是否记录方法调用.我希望能够控制是记录所有登录还是仅记录失败的登录.同样,在单个请求中检索的所有信息将通过id(guid或其他)链接在一起.

这是我理想的伐木情况.如果有人知道如何实现所有这一切,并愿意搬到曼彻斯特,新罕布什尔州……;)

但是说真的,有谁知道如何将收到的Web服务请求绑定到错误方法调用?我最初的尝试涉及在Soap扩展中乱搞,试图添加标题(soap或html)以及不将任意值从扩展名传递到服务本身.我所有的尝试都没有成功.

我们当前的日志记录情况是将身份验证记录到一个表,方法/业务调用另一个表,以及异常记录到另一个表,它们之间没有互连.时间戳有时很有用,但不够可靠,无法有效地进行调试.我们目前使用.Net 2.0,有可能在今年年底之前使用3.5,所以如果回复保持为2.0功能会更有帮助.

有人有任何想法吗?

解决方法

如果可能,请使用wcf并实现消息记录,请参阅 http://msdn.microsoft.com/en-us/library/ms730064.aspx
<system.diagnostics>
  <sources>
      <source name="System.ServiceModel.MessageLogging">
        <listeners>
                 <add name="messages"
                 type="System.Diagnostics.XmlWriterTraceListener"
                 initializeData="c:\logs\messages.svclog" />
          </listeners>
      </source>
    </sources>
</system.diagnostics>

<system.serviceModel>
  <diagnostics>
    <messageLogging 
         logEntireMessage="true" 
         logMalformedMessages="false"
         logMessagesAtServiceLevel="true" 
         logMessagesAtTransportLevel="false"
         maxMessagesToLog="3000"
         maxSizeOfMessageToLog="2000"/>
  </diagnostics>
</system.serviceModel>

猜你在找的HTML相关文章