C# 从WebService捕获传入参数
我想知道如何动态捕获WebService调用的参数(用于日志记录)C# 从WebService捕获传入参数,c#,web-services,logging,arguments,C#,Web Services,Logging,Arguments,我想知道如何动态捕获WebService调用的参数(用于日志记录) 是否有任何属性存储正在进行的调用的参数?我存储web服务的内容的一种方法是存储在数据库中。它是一个.NET web服务,通过存储过程从db获取数据,在存储过程中,我刚刚使用INSERT INTO语句来存储传入的内容。如何通过web.config中的diagnostics元素启用跟踪?不过,这可能更多是为了调试目的 <microsoft.web.services> <diagnostics>
是否有任何属性存储正在进行的调用的参数?我存储web服务的内容的一种方法是存储在数据库中。它是一个.NET web服务,通过存储过程从db获取数据,在存储过程中,我刚刚使用INSERT INTO语句来存储传入的内容。如何通过web.config中的diagnostics元素启用跟踪?不过,这可能更多是为了调试目的
<microsoft.web.services>
<diagnostics>
<trace enabled="true" input="inputTrace.config" output="outputTrace.config"/>
</diagnostics>
</microsoft.web.services>
这取决于日志记录的类型和您使用的web服务的类型。这还取决于您最终希望如何处理这些信息。(报告?统计?调试?)
它还取决于您想要捕获web服务参数的位置。您可以从调用应用程序中记录它们,也可以直接在web服务中记录它们,具体取决于应用程序和网络的体系结构。您可以将参数信息存储在Web服务器上的日志中(这可能会影响Web服务器的性能),或者您可以在应用程序中本地地记录参数并处理来自那里的信息。您可以创建一个客户端消息检查器来捕获入站通信,解析出参数并将其存储到数据库表中。您需要处理的接口是IEndpointBehavior和IClientMessageInspector。创建之后,您可以将其作为一种行为附加到web.config文件中的一个端点,这样就可以了