C# 将头添加到.Net 3.5 WCF客户端
我在c#.Net framework 3.5中有一个简单的web客户端,它调用SOAP服务HelloWorld,如下所示:C# 将头添加到.Net 3.5 WCF客户端,c#,.net,wcf,header,client,C#,.net,Wcf,Header,Client,我在c#.Net framework 3.5中有一个简单的web客户端,它调用SOAP服务HelloWorld,如下所示: HelloService myservice = new HelloService(); string result = myservice.HelloWorld(); 我正在使用一些中间件,通过请求授权头添加基本的安全性:“Authorization=Bearer 123456abcd”,它与REST服务一起工作,但我想使用上面的.Net客户端的服务 如何将标头添加到服
HelloService myservice = new HelloService();
string result = myservice.HelloWorld();
我正在使用一些中间件,通过请求授权头添加基本的安全性:“Authorization=Bearer 123456abcd”,它与REST服务一起工作,但我想使用上面的.Net客户端的服务
如何将标头添加到服务调用?
是否存在类似于:myservice.addHeader(“authorization=blah”)代码>?您应该使用
授权
var messageProperty = new HttpRequestMessageProperty();
messageProperty.Headers.Add(HttpRequestHeader.Authorization, AuthorizationHeader);
您是否使用“添加服务引用”创建了客户端?是的,当我不使用中间件时,客户端可以工作。中间件增加了安全性,并希望标头进行身份验证。我一直讨厌这种中间件。它假设一切都是手动完成的,不考虑WSDL之类的内容,也不考虑生成代码。有没有一种方法可以更全局地完成这项工作,比如,对于大多数操作?因为需要与OperationContextScope一起使用,所以它只能通过抽象实现,例如,更改Func上的服务调用
var messageProperty = new HttpRequestMessageProperty();
messageProperty.Headers.Add(HttpRequestHeader.Authorization, AuthorizationHeader);