0

我创建了非常适合 get 的 restful wcf 服务。现在我正在构建一些发布方法。客户端以 JSON 格式将数据发布到此服务。服务方法不会有任何参数,所以我需要从发出的请求中读取 jsondata。我无法弄清楚我应该如何检索从请求中生成的数据。

 [OperationContract]
 [WebInvoke(Method = "POST", UriTemplate = "/SaveEmployee", RequestFormat =    WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]

public bool SaveEmployee()
        {
            //Capture Employee Object Data here and perform save
            return true;
        }

        [DataContract]
        public class Employee
        {
            [DataMember]
            public int Id
            {
                get;
                set;
            }

            [DataMember]
            public string Name
            {
                get;
                set;
            }
        }
4

1 回答 1

0

如果您使用数据协定类型设置您的方法,它将填充请求正文并为您反序列化。

[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "/SaveEmployee", RequestFormat =            WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
public bool SaveEmployee(Employee sentEmployee)
    {
        //Capture Employee Object Data here and perform save
        return true;
    }

如果你不能这样做,你将不得不在 URL 参数中传递 json 数据并手动反序列化内容。

于 2013-01-16T17:21:15.280 回答