0

假设我有一个使用 SignalR 的 Instant Messenger 服务器。我想向所有连接的客户端广播一个ContactList包含自定义对象集合的User自定义对象,这些客户端可能位于各种平台上。

如何在服务器端打包这些自定义对象,以允许 java、objective c 和 .net 客户端映射回这些类的副本?我假设某种序列化,但不想为每种客户端语言编写一个“解析器”来重构我可能想要使用的每个不同的自定义对象。我有更好的选择吗?

4

4 回答 4

3

如果您使用 SignalR,则格式为 JSON。

于 2012-07-27T17:51:15.097 回答
3

SignalR 现在在其架构(即IJsonSerializerIJsonValue)中在技术上与 JSON 相关联,并且默认使用JSON.NET进行序列化。因此,只要您的对象可以通过 JSON.NET 序列化,并且只要其他平台支持以某种方式解析 JSON(即使它是简单的文本解析),那么您就可以开始了。

于 2012-07-27T17:53:06.557 回答
0

以 RESTful 方式公开您的对象将允许其他语言使用它们。只要您公开的所有对象都是可序列化的,调用语言是什么并不重要,只要它们自己可以执行 REST 请求即可。WCF / Web API 很好地处理了这个问题。

于 2012-07-27T14:39:50.953 回答
0

我想补充一点,如果您希望通过网络传入的 JSON 自动反序列化为各种平台中的对象,您可以使用 Xamarin 创建一个 PCL(可移植类库)以在任何地方运行 C#。看看http://xamarin.com/csharp

于 2014-02-07T02:18:58.573 回答