记录WCF soap消息参数和方法名称
本文关键字:方法 参数 WCF soap 消息 记录 | 更新日期: 2023-09-27 18:19:52
我正在使用Log4net,并有一个方法来记录调用上下文
private void LogCallingProgramContext()
{
OperationContext context = OperationContext.Current;
if (context != null)
{
MessageProperties messageProperties = context.IncomingMessageProperties;
var endpointProperty =
messageProperties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;
if (endpointProperty != null)
{
string strCallingProgramContext = string.Format("Call from IP address {0} and port is {1}", endpointProperty.Address, endpointProperty.Port);
Logger.Info(strCallingProgramContext);
}
}
}
我想要的是,有没有任何方法可以记录消息方法名称和参数
您不能从代码的上下文中检索方法的参数值,只能检索它们的类型。恐怕你想直接做什么是不可能的。您可以将参数传递给日志记录方法以记录它们的值,也可以使用面向方面的编程系统,在该系统中,您感兴趣的函数将封装在您可以定义的一些代码中。
有很多AOP解决方案可供选择,我个人喜欢Castle。Windsor及其拦截器。