为什么在VS2015调试器下运行时WCF客户端配置不同?

时间:2016-02-04 20:24:26

标签: c# wcf debugging visual-studio-debugging

在我的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调用时,会发生以下情况:

    • 如果调用是从VS2015调试器内部运行的进程调用的,则True将打印到控制台,这意味着request.Properties["httpRequest"]存在。
    • 如果调用是从正常运行的进程(而不是在调试器中)进行的,则会在控制台上打印False

为什么在VS2015调试器内部/外部运行时,WCF的配置不同?这是怎么发生的?是否记录在哪里?

0 个答案:

没有答案