使用signar,如何将字典(关联数组)发送到Javascript?
字典是不可序列化的,因此不能通过信号器将JavaScript代码作为JavaScript(伪)关联数组发送给我的客户端 在.net中,我的复杂类型是:使用signar,如何将字典(关联数组)发送到Javascript?,javascript,signalr,Javascript,Signalr,字典是不可序列化的,因此不能通过信号器将JavaScript代码作为JavaScript(伪)关联数组发送给我的客户端 在.net中,我的复杂类型是: public class MyClass { public [primitive] whatever {get;set;} ... public Dictionary<string, string> Properties { get; set; } } 更新: 我首先尝试序列化字符串,因为我通过SQL Servic
public class MyClass {
public [primitive] whatever {get;set;}
...
public Dictionary<string, string> Properties { get; set; }
}
更新:
我首先尝试序列化字符串,因为我通过SQL Service Broker路由实例。在这一行:
XmlSerializer serializer = new XmlSerializer(typeof(T));
其中T是MyClass的类型
反映类型[MyClass]时出错
无法序列化成员[MyClass]。System.Collections.Generic.Dictionary`2[[System.String,mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089],[System.String,mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089],因为它实现了IDictionary
我觉得我要回答我自己的问题了…Signal使用Json.NET,它肯定能够序列化
字典。您应该能够以您在问题中建议的确切方式从JS代码访问字典
您是否尝试过使用SignalR发送MyClass
的实例?如果是这样,它是如何失败的?我改变了:
XmlSerializer serializer = new XmlSerializer(typeof(T));
致:
(并处理了一些名称空间问题…我的道歉@halter73,我正在序列化为a,首先从字符串开始。。。(我正在通过SQL Service Broker跳转对象实例)。我已经更新了这个问题。
XmlSerializer serializer = new XmlSerializer(typeof(T));
DataContractSerializer serializer = new DataContractSerializer(typeof(T));