C# Web 服务的日志记录
我们正在使用网络服务。我们使用 wsdl.exe 生成客户端代理。
我们如何保留代理向 Web 服务提供商发送和从 Web 服务提供商接收的所有底层 XML 文件?
目的是在系统出现故障和出现争议时,通过表明我们确实以良好的格式发送了所有参数来保护我们自己。
We are consuming web services. We use wsdl.exe to generate the client proxy.
How do we keep all the underlying XML files the proxy sends to and receives from the web services provider?
The purpose is to protect ourselves by showing we did have send all the parameters in good format when system malfunctions and disputes arise.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我们使用 SoapExtension 来做到这一点在发出 Web 服务请求的应用程序中。
整个系统由两个类组成,一个
CopyStream
类,它提供了在读/写时将流的内容复制到第二个流的能力,以及一个SoapLogger
> 拦截应用程序中所有 SOAP 请求和响应并将它们记录到文件中的类。您只需要在您的 app.config 文件中注册它:
对代码的一大块表示歉意,但它是:
它没有经过性能/压力测试,但它似乎保持得很好 - 希望 完成流复制的方式应该可以减轻任何性能影响。
We did just that using a SoapExtension in the application making the web service requests.
The entire system consisted of two classes, a
CopyStream
class that provided the ability to duplicate the contents of a stream to a second stream as it is read / written to, and aSoapLogger
class that intercepts all SOAP requests and responses in the application and logs them to a file.You just need to register it in your app.config file:
Apologies for the big blob of code, but here it is:
Its not been performance / stress tested, but it seems to be holding up just fine - hopefully the way that the stream copying is done should mitigate any performance impact.