2011-03-25 44 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