【问题标题】:Could HTTP Headers be bound to REST WCF service arguments?HTTP 标头可以绑定到 REST WCF 服务参数吗?
【发布时间】:2011-04-24 12:19:50
【问题描述】:

我有一个 WCF REST 服务:

[ServiceContract]
public IService
{
    [WebGet]
    [OperationContract]
    Data GetData(UserInfo userInfo);
}

UserInfo 是一个类:

public class UserInfo
{
    public string UserName { get; set; }
    public string Password { get; set; }
}

我希望 UserNamePassword 属性从特定的 HTTP 标头而不是请求正文中填充。我该如何实现呢?

【问题讨论】:

    标签: wcf rest http-headers wcf-binding


    【解决方案1】:

    WCF 提供了一些对这种情况很有帮助的扩展点。我建议您检查IParameterInspectorIOperationInvoker。两者都可以使用输入参数。然后您必须将 IOperationBehavior 创建为 Attribute 并使用此属性标记您的方法。但我预计这种情况会有一个更大的问题。您正在使用 WebGet 和复杂类型,并且没有任何将映射到参数的 Uri 模板 - 这是不可能的。 WebGet 操作只能使用基本类型的参数,当您在操作中创建此类参数时,必须在 Uri 模板中提及它,否则会引发异常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-15
      • 1970-01-01
      • 1970-01-01
      • 2012-01-30
      • 1970-01-01
      • 2012-02-28
      • 2017-12-18
      • 2011-02-08
      相关资源
      最近更新 更多