C#-获取服务结构RPC服务中任何类型的对象

C#-获取服务结构RPC服务中任何类型的对象,c#,json.net,rpc,azure-service-fabric,C#,Json.net,Rpc,Azure Service Fabric,有一个Service Fabric Rest(http)服务,它公开了一个POST端点,该端点接受一个名为Action的契约,该契约具有一个字典。该服务接受该操作并调用服务结构RPC服务以执行创建操作 public class Action{ public Dictionary<string, object> actions {get; set;} } 公共集体诉讼{ 公共字典操作{get;set;} } 当为对象类型传递除原语(数组、字典)以外的任何类型时,Rest端点会正

有一个Service Fabric Rest(http)服务,它公开了一个POST端点,该端点接受一个名为Action的契约,该契约具有一个字典。该服务接受该操作并调用服务结构RPC服务以执行创建操作

public class Action{
  public Dictionary<string, object> actions {get; set;}
}
公共集体诉讼{
公共字典操作{get;set;}
}
当为对象类型传递除原语(数组、字典)以外的任何类型时,Rest端点会正确地反序列化json,但在尝试调用RPC服务时失败,并显示以下错误消息

“Newtonsoft.Json.Linq.JToken”是不受支持的递归收集数据协定。考虑修改集合“NeNethSoop.JSO.LINQ,JToken”的定义,以删除对自身的引用。 我们还尝试使用dynamic和ExpandooObject代替object。这似乎也无济于事

有人在向RPC服务传递对象或动态类型时遇到过这个问题吗?

使用。您在服务契约中使用的所有类型都必须可通过该协议序列化。 类型
JToken
不是,因为它具有相同类型的属性