在我的WCF客户端代码中,我添加了一个消息检查器(使用IEndpointBehavior)。
class MyBehavior : IEndpointBehavior
{
public void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime)
{
clientRuntime.ClientMessageInspectors.Add(new MyMessageInspector());
}
}
public class MyMessageInspector : IClientMessageInspector
{
public object BeforeSendRequest(ref Message request, IClientChannel channel)
{
Console.WriteLine(request.Properties.ContainsKey(HttpRequestMessageProperty.Name));
}
}
现在这里有我不理解的部分:
当我使用配置为使用此行为的代理进行WCF调用时,会发生以下情况:
True
将打印到控制台,这意味着request.Properties["httpRequest"]
存在。False
。为什么在VS2015调试器内部/外部运行时,WCF的配置不同?这是怎么发生的?是否记录在哪里?