WCF 肥皂和休息在一起



假设我有 WCF Soap 服务,并且我正在将此库用于 SOAP 标头

http://wcfextras.codeplex.com/

例如,我的界面看起来像这样

  [SoapHeader("HelperHeader", typeof(HelperHeader), Direction = SoapHeaderDirection.In)]
  [OperationContract]
  string GetData(string id);
    ////////
  public string GetData(string id)
  {
      HelperHeader clientHeader=SoapHeaderHelper<HelperHeader>.GetInputHeader("HelperHeader");
     if (clientHeader != null)
         return id
  }

在标头类中,我有 basicHttpbinding 的用户名和密码。现在我想将此方法" GetData "用于REST服务。(我还有第二个webHttbinding)。我想对REST客户端使用此方法"GetData",现在我发现我可以使用属性WebGet和Webinvoke

  [OperationContract]
  [WebGet(UriTemplate = "testjson/{id}",  ResponseFormat = WebMessageFormat.Json)]
  string GetData(string id);

我的安静是我如何将一种方法"GetData"用于REST和SOAP服务以及用户名和密码。

当你创建一个 HttpRequest 时,你可以添加任何你想要的标题集合:

WebRequest request = WebRequest.Create("<URI>");
request.Headers.Add("username", "<UserName>");
request.Headers.Add("password", "<Pass>");
request.GetResponse();

在服务实现中,可以通过调用此属性轻松访问标头集合WebOperationContext.Current.IncomingRequest.Headers

相关内容

  • 没有找到相关文章

最新更新