繁体   English   中英

记录WCF SOAP消息参数和方法名称

[英]Log WCF soap message parameters and method name

我正在使用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);

                }
            }
        }

我想要的是有什么办法可以记录消息方法的名称和参数

您不能从代码的上下文中检索方法的参数值,只能从其类型中检索。 恐怕您无法直接完成操作。 您可以将参数传递给日志记录方法以记录其值,也可以使用面向方面的编程系统,在该系统中,您感兴趣的功能将包装在您可以定义的某些代码中。

我个人喜欢Castle.Windsor及其拦截器 ,有很多AOP解决方案可供选择。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM