当Serial对象具有属性[Serializable]时,将Serialized对象传递给WCF方法

时间:2015-06-06 09:03:23

标签: c# json wcf serialization

我的问题是我想将带有序列化对象的post请求发送到WCF方法 这是我的代码。

[Serializable]
public class StandardCardModel
{
    public string lang { get; set; }
    public string app_source { get; set; }
    public string card { get; set; }
}

[ServiceContract]
public interface IService1
{
    [OperationContract]
    [WebInvoke(Method = "POST",
        RequestFormat = WebMessageFormat.Json,
        ResponseFormat = WebMessageFormat.Json,
        BodyStyle = WebMessageBodyStyle.Wrapped,
        UriTemplate = "GetLastTransactions")]
    LastTransactionsResult GetLastTransactions(StandardCardModel scm);

现在我想用param调用'GetLastTransactions':

{
 "lang": "en",
 "app_source": "TestSource",
 "card": "1111"
}

要清楚,我不想发送带有param名称的JSON作为对象。例如:

{"scm":{....}}

我在scm中变为null。有什么建议?感谢

1 个答案:

答案 0 :(得分:0)

删除BodyStyle = WebMessageBodyStyle.Wrapped。使用BodyStyle = WebMessageBodyStyle.Wrapped时,必须包裹请求。