c# - 网络服务跟踪/日志

标签 c# web-services logging asmx trace

我有一组网络服务,我想添加一个跟踪层。 我不想修改每个 Web 服务,因为我有很多。 我想在每次进入 Web 服务时写入日志:Web 服务的名称和参数。

最好的方法是什么?

附言我正在使用 asp.net 和 C#。

编辑: 我只想包装 Web 服务,因为每个服务的开头都有 log(..)。

最佳答案

实现此目的的常用方法是注入(inject) SOAP 扩展。从那里您可以拦截原始 SOAP 中的每个请求/响应数据包。该示例展示了如何实现,解释描述了它的工作原理和配置方式。

示例:

http://msdn.microsoft.com/en-us/library/system.web.services.protocols.soapextension.aspx

解释:

http://msdn.microsoft.com/en-us/library/esw638yk(vs.71).aspx

配置:

http://msdn.microsoft.com/en-us/library/b5e8e7kk(v=vs.71).aspx

<configuration>
 <system.web>
   <webServices>
     <soapExtensionTypes>
      <add type="{Type name}, {Assembly}" priority="1" group="0" />
     </soapExtensionTypes>
    </webServices>
 </system.web>
</configuration>

关于c# - 网络服务跟踪/日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4632124/

相关文章:

c# - 为什么我在连接到网络的 Stream 上使用 Read 函数得到不一致的结果?

c# - ParameterInfo 是扩展方法参数?

java - cxf.conf 中端点端口的名称是什么

logging - 实时日志处理和警报生成

linux - 在使用文件时截断文件 (Linux)

c# - 让 DataContractSerializer 以两种不同的方式序列化同一个类?

c# - 从 json 序列化列表对象构建动态表

web-services - 亚马逊休息服务认证和安全

java - maven-jaxb2-plugin 有什么用?

python-3.x - 如何修复python中的 "TypeError: a bytes-like object is required, not ' str'"错误?