2012-07-27 30 views
0

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

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

回答

0

以REST风格暴露您的对象将允许其他语言使用它们。只要您公开的所有对象都是可序列化的,只要它们自己可以执行REST请求,那么调用语言是什么并不重要。 WCF/Web API处理这很好。

+0

我不明白这个答案是如何应用的,因为这是一个关于SignalR而不是REST请求/响应的问题。 – 2012-07-27 17:51:35

3

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

3

SignalR技术上与JSON现在在其体系结构(即IJsonSerializerIJsonValue)中默认用于序列化,并且默认使用JSON.NET。所以只要你的对象可以被JSON.NET序列化,并且只要其他平台支持以某种方式解析JSON(即使它是简单的文本解析),你也应该很好。

0

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

相关问题