我在我的WCF服务中使用NLog,并希望记录来电者的IP地址。
我尝试过使用aspnet-LayoutRenderers(${aspnet-request:serverVariable=remote_host}
,${aspnet-request:serverVariable=remote_addr}
,但无济于事,因为正在抛出内部NLog异常并且没有生成日志文件。
有没有办法在WCF服务中记录IP地址,而无需将其作为参数传递给被调用的方法?
答案 0 :(得分:6)
var msg = OperationContext.Current
.IncomingMessageProperties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;
var address = msg.Address;