2017-08-08 12 views
0

Dictionaryを持つActionという契約を取るPOSTエンドポイントを公開するService Fabric Rest(http)サービスがあります。サービスはアクションを受け入れ、サービスファブリックRPCサービスを呼び出してアクションの作成操作を実行します。C# - Service Fabric RPCサービスの任意の種類のオブジェクトの取得

public class Action{ 
    public Dictionary<string, object> actions {get; set;} 
} 

プリミティブ以外の任意の型(配列、辞書が)オブジェクトタイプのために渡されると、残りのエンドポイントが適切にJSONをデシリアライズが、次のエラーメッセージが表示されてRPCサービスを呼び出すためにしようとしたときの場所で失敗します

Newtonsoft.Json.Linq.JToken 'は、サポートされていない再帰的なコレクションデータコントラクトです。コレクション 'Newtonsoft.Json.Linq.JToken'の定義を変更して、自身への参照を削除することを検討してください。

また、objectではなくdynamicおよびExpandoObjectを使用してみました。それは助けにもならないようです。

RPCサービスにオブジェクト型または動的型を渡すことで、この問題に直面したことはありますか?

答えて

1

Service remotingは、DataContractSerializerで動作します。サービスコントラクトで使用するすべての型は、それによって直列化可能でなければなりません。 同じタイプのプロパティを持つため、タイプJTokenはありません。

関連する問題