我有一个问题,我们有一个可以为多个客户端提供服务的 ASP.NET Web 应用程序。
唯一的区别是应用程序需要将一些 JSON 字符串转换为 .NET 类型<T>
的对象,以便将该对象传递给 WCF 服务。
为此,我正在使用 Newtonsoft.Json.Converter:
T input = JsonConvert.DeserializeObject<T>(jsonInput);
问题是该类型<T>
在设计时是未知的。但是在反序列化之后,我需要一个通用的强类型对象,以便我可以将它传递给 WCF 服务。其原因是每个客户端的 WCF 服务不同,并且每个客户端的参数输入可能具有不同的结构。
var client = new CalcEngine.CalculatorClient();
var input = new CalcEngine.CalcInputTypes();
var result = client.Calculate(input);
这里的输入是 CalcEngine.CalcInputTypes 类型。对于 clientA 和 clientB,CalcEngine.CalcInputTypes 可能有不同的结构。
实现这一目标的最佳方法是什么?
谢谢。