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序列化器自行序列化: var textWriter = new StringWriter(); _hubProxy.JsonSerializer.Serialize(textWriter,obj);
您的代码不正确 - 对象是C#中的保留字,所以让它'C obj = new C();' –
我有完全相同的问题。可以手动使用序列化程序,但不能在从C#客户机调用hub.Invoke到C#服务器时使用。 –