2012-07-27 64 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

相關問題