0
比方说,我们有REST客户端下一个声明:WebGet和对象作为WCF REST客户端GET参数
[ServiceContract]
interface ITestClient
{
[OperationContract]
[WebGet(UriTemplate = "SetData/?d1={d1}&d2={d2}")]
void SetData(string d1, string d2);
}
我想涂时用下一个签名(HTTP GET)使用它:
[ServiceContract]
interface ITestClient
{
[OperationContract]
[WebGet(UriTemplate = "SetData/?")]
void SetData(SetDataRequest setData);
}
[DataContract]
public class SetDataRequest
{
[DataMember(Name = "d1")]
private string Data1 { get; set; }
[DataMember(Name = "d2")]
private string Data2 { get; set; }
}
我希望WCF将SetDataRequest
的实例序列化为HTTP QueryString。 这是可能的(HTTP POST是不可接受的)?
我没有访问服务器的服务器端,所以我绑定到HTTP GET。在这种情况下,HTTP POST不是一个选项。安全通过https协议绑定解决。 – Matej
tbh它可能更容易有一个帮助对象,它只是将其序列化为字符串。 –
哦,安全性不能通过https来解决,缓存就是一个副作用!人们仍然可以对服务进行跨站点请求伪造攻击。 –