WCF休息服务接受动态参数

时间:2012-01-25 14:42:06

标签: asp.net wcf rest dynamic

在我的应用程序中,我将json对象发送到服务,在服务端,我期望一个类型为dynamic的对象

public bool TestService(dynamic entity)
{
    // process
}

当我调试并看到实体已填满时,我无法输入它。知道如何从发送的实体中检索字段

1 个答案:

答案 0 :(得分:3)

我很好奇 - 如果你发送一个JSON格式的对象,为什么不让你的服务方法接受一个字符串,然后使用类似JSON.net的东西将它转换为适当的类型?

public bool TestService(string entity)
{
    var myObject = JsonConvert.DeserializeObject<MyObjectType>(entity);
    //do stuff with myObject...
}

或者您可以将其反序列化为匿名对象:

public bool TestService(string entity)
{
    var myAnonymousObject = new { Name = String.Empty, Address = String.Empty };
    var myObject = JsonConvert.DeserializeAnonymousType(entity, myAnonymousObject);
    //do stuff with myObject
}

我想我不确定为什么你的JSON格式化对象需要是动态的。