[英]SignalR client Side Json serializer
I have the following 我有以下
class A : ISomthing{}
Class B : ISomthing{}
interface ISomthing{}
Class C { public ISomthing _member {get;set}}
and i try to send the following object from my .net signalR client to my hub ,I'm using signalR 2.0.2 并且我尝试将以下对象从.net signalR客户端发送到集线器,我正在使用signalR 2.0.2
C obj = new C();
obj._member = new A();
I receive the following error ,Could not create an instance of type ISomthing . 我收到以下错误,无法创建类型为ISomthing的实例。 Type is an interface or abstract class and cannot be instantiated. 类型是接口或抽象类,无法实例化。
In my client and server side I'm using JsonSerializer.TypeNameHandling = TypeNameHandling.Auto; 在客户端和服务器端,我正在使用JsonSerializer.TypeNameHandling = TypeNameHandling.Auto;。
Update : The object can be serialized by it self, using the signalR serializer : var textWriter = new StringWriter(); 更新:可以使用signalR序列化程序自行将对象序列化:var textWriter = new StringWriter(); _hubProxy.JsonSerializer.Serialize(textWriter, obj ); _hubProxy.JsonSerializer.Serialize(textWriter,obj);
Apparently this is not currently supported , see my question here 显然目前尚不支持,请在此处查看我的问题
And the answer I got : "The DependencyResolver has an IParameterResolver registered which is responsible for deserializing server-side inputs. The IParameterResolver is implemented by DefaultParameterResolver which does not use the JsonSerializer registered the DependencyResolver. msdn.microsoft.com/en-us/library/jj919135(v=vs.118).aspx" 我得到的答案是:“ DependencyResolver已注册了一个IParameterResolver,用于反序列化服务器端输入。IParameterResolver是由DefaultParameterResolver实现的,它不使用JsonSerializer注册了DependencyResolver。msdn.microsoft.com/zh-cn/library /jj919135(v=vs.118).aspx”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.