SignalR客户端Side Json序列化器

我有以下内容

class A : ISomthing{}

Class B : ISomthing{}

interface ISomthing{}

Class C { public ISomthing _member {get;set}}

我尝试将以下对象从我的.net signalR客户端发送到我的集线器,我正在使用signalR 2.0.2

C obj = new C();
obj._member  = new A();

我收到以下错误,无法创建ISomthing类型的实例 . Type是接口或抽象类,无法实例化 .

在我的客户端和服务器端,我正在使用JsonSerializer.TypeNameHandling = TypeNameHandling.Auto;

更新:对象可以使用signalR serializer自行序列化:var textWriter = new StringWriter(); _hubProxy.JsonSerializer.Serialize(textWriter,obj);

回答(1)

2 years ago

显然目前不支持,请参阅我的问题here

我得到了答案:“DependencyResolver注册了一个IParameterResolver,它负责反序列化服务器端输入.IParameterResolver由DefaultParameterResolver实现,它不使用注册了DependencyResolver的JsonSerializer.msdn.microsoft.com / en-us / library /jj919135(v=vs.118).aspx”