发送肥皂头信息到WCF服务在C#
问题描述:
我想要一个Web应用程序创建一个服务引用到我的WCF服务,插入信息到肥皂调用头并调用我的WCF方法。发送肥皂头信息到WCF服务在C#
我读到MessageContract属性,并宣布一个在接口文件:
[MessageContract]
public class BasicServiceHeader
{
[MessageHeader]
public string myString;
}
我的WCF接口:
[ServiceContract]
public interface IBasicService
{
[OperationContract]
[WebGet(UriTemplate = "GetData?value={value}")] // Add support for HTTP GET Requests
string GetData(int value);}
我不想BasicServiceHeader作为一个参数传递GetData函数,我想保留它的功能,并提取函数内部的BasicServiceHeader,我可以这样做吗?
答
客户端,你可以先调用操作通过一个标题:
MessageHeader messageHeader = MessageHeader.CreateHeader(_headerName, _headersNameSpace, _headerValue);
OperationContext.Current.OutgoingMessageHeaders.Add(messageHeader);
,并使用FindHeader服务端
提取它谢谢你,但我不认为我的客户有框架3.5。他以“asmx方式”工作,我的客户端如何向Framework 2.0中的soap方法调用添加新的头信息? – Rodniko 2010-09-17 11:11:49
好的,这有帮助吗? http://blogs.msdn.com/b/kaevans/archive/2007/08/06/programmatically-insert-soapheader-into-soap-request-with-asmx-soapextensions.aspx – 2010-09-17 11:36:59
在我进入Soapextensions之前似乎是一个非常复杂的主题,你能告诉我WCF是否支持SoapHeader属性?我找到了一个使用SoapHeader的简单例子:http://msdn.microsoft.com/en-us/library/system.web.services.protocols.soapheader.aspx,但我无法让它工作。 – Rodniko 2010-09-17 12:00:26