HTTP头是否可以绑定到REST WCF服务参数?
我有一个WCF REST服务: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; } }
[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模板中提及,否则将触发异常