Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTTP头是否可以绑定到REST WCF服务参数?_Wcf_Rest_Http Headers_Wcf Binding - Fatal编程技术网

HTTP头是否可以绑定到REST WCF服务参数?

HTTP头是否可以绑定到REST WCF服务参数?,wcf,rest,http-headers,wcf-binding,Wcf,Rest,Http Headers,Wcf Binding,我有一个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; } }

我有一个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; }
}

我希望
UserName
Password
属性可以从特定的HTTP头中填充,但不能从请求体中填充。如何实现这一点?

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