2011-03-25 52 views
4

我正在寫一個非常簡單的C#的HttpHandler(ASHX)作爲Web服務使用,並打算使用使用Json.Net序列化小(4-5字段)通過服務器邊界結構化。使用C#/ JSON來序列化Web服務的結構

我可以在Web服務端序列化結構並將其反序列化爲另一端的正確類型(這恰好是單獨的C#Web應用程序),而無需更多或更少的複製和粘貼結構的定義在每一端?現在,結構是web服務和消費網頁中的嵌套類型。我可以將其解壓縮到它自己的類組件,並在兩端添加一個引用,但似乎並不比保持在兩端的定義要簡單得多。我還有其他合理的選擇嗎?

回答

2

如果只有少數種類轉移,他們是不太可能發生太大的變化 - 只是在兩端定義它。

如果你有很多,然後共享一個dll

沒有魔法真的... JSON是設計相當的合同自由。事實上,在大多數情況下,即使匿名類型也很好地序列化。

個人而言,我會使用一個class不是struct,雖然...一如既往地喜歡class除非你有你爲什麼使用struct一個真的好主意:大多數時候,他們使用不正確。

+0

感謝您的確認 - 這是我的直覺了。 FWIW,所討論的對象是真的只是一個字符串屬性的集合,捆綁在一起纔可以很容易地越過我跳的邊界序列。看起來像是經常被誤解的結構的完美例子。我錯了嗎? – cori 2011-03-25 14:52:03

+1

@cori - 是;上課會更合適。這個選擇與它是一個簡單的容器無關。 – 2011-03-25 17:38:03