gpt4 book ai didi

wcf - 向REST WCF请求添加 header -EnvelopeNone不支持添加消息 header 异常

转载 作者:行者123 更新时间:2023-12-03 17:52:36 28 4
gpt4 key购买 nike

我试图将自定义 header 添加到点击标准RESTful端点的wcf客户端。我正在尝试添加某种 header ,该 header 将仅允许我跟踪从一层到下一层的请求。这是我尝试实现的方法:

public class DynatracePurePathHeaderAppender : IClientMessageInspector, IEndpointBehavior
{
object IClientMessageInspector.BeforeSendRequest(ref Message request, IClientChannel channel)
{
var dynaHeader = MessageHeader.CreateHeader("Action", "ns.yellowbook.jeff", "dynatrace",false);
request.Headers.Add(dynaHeader);
return null;
}

void IClientMessageInspector.AfterReceiveReply(ref Message reply, object correlationState)
{
return;
}

public void Validate(ServiceEndpoint endpoint){}

public void AddBindingParameters(ServiceEndpoint endpoint, BindingParameterCollection bindingParameters){}

public void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher){}

public void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime)
{
clientRuntime.MessageInspectors.Add(this);
}
}

public class DynatracePurePathHeaderAppenderElement : BehaviorExtensionElement
{
protected override object CreateBehavior()
{
return new DynatracePurePathHeaderAppender();
}

public override Type BehaviorType
{
get { return typeof(DynatracePurePathHeaderAppender); }
}
}

然后,我成功配置了客户端,但是在运行时,出现以下异常:

System.InvalidOperationException: Envelope Version 'EnvelopeNone (http://schemas.microsoft.com/ws/2005/05/envelope/none)' does not support adding Message Headers.



有人对如何添加这种少量钡餐有任何建议吗?

最佳答案

我假设您的意思是HTTP header ,而不是SOAP header ?如果是这样,MessageHeader与此无关。

尝试这样的事情:

HttpRequestMessageProperty hrmp = new HttpRequestMessageProperty();
//Set hrmp.Headers, then:
request.Properties.Add(HttpRequestMessageProperty.Name, hrmp);

通常,WCF REST支持并没有在客户端上进行真正的优化(创建它主要是为了允许人们创建REST服务)。为了获得更好的客户端REST支持,请查看WCF REST入门工具包中的HttpClient。

关于wcf - 向REST WCF请求添加 header -EnvelopeNone不支持添加消息 header 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1506670/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com