使用C#/Json序列化web服务中的结构
我正在编写一个非常简单的C#HttpHandler(ashx)作为web服务使用,并打算使用Json.Net跨服务器边界序列化一个小的(4-5个字段)结构使用C#/Json序列化web服务中的结构,c#,json.net,ashx,C#,Json.net,Ashx,我正在编写一个非常简单的C#HttpHandler(ashx)作为web服务使用,并打算使用Json.Net跨服务器边界序列化一个小的(4-5个字段)结构 在web服务端序列化结构并将其反序列化为另一端的正确类型(这恰好是一个单独的c#web应用程序),而不必在每一端或多或少地复制和粘贴结构的定义,我有哪些选择?现在,结构是web服务和消费web页面中的嵌套类型。我可以将其提取到自己的类程序集中,并在两端添加引用,但这似乎并不比在两端维护定义简单。我还有其他明智的选择吗?如果您只有几个类型需要传
在web服务端序列化结构并将其反序列化为另一端的正确类型(这恰好是一个单独的c#web应用程序),而不必在每一端或多或少地复制和粘贴结构的定义,我有哪些选择?现在,结构是web服务和消费web页面中的嵌套类型。我可以将其提取到自己的类程序集中,并在两端添加引用,但这似乎并不比在两端维护定义简单。我还有其他明智的选择吗?如果您只有几个类型需要传输,而且它们不太可能发生太大的变化,请在两端定义它 如果你有很多,那么共享一个dll 没有魔法真的。。。json在设计上是完全没有契约的。事实上,在大多数情况下,即使是匿名类型也可以很好地序列化
就我个人而言,我会使用
类
而不是结构
,不过。。。像往常一样,除非你有一个真正的好主意为什么要使用struct
,否则还是选择class
:大多数情况下,它们被错误地使用了。谢谢你的确认——这也是我的直觉。FWIW,所讨论的对象实际上只是一个字符串属性的集合,捆绑在一起只是为了便于跨边界序列化。对于经常被误解的结构来说,这似乎是一个完美的例子。我错了吗?@cori-是的;在那里上课更合适。选择与它是一个简单的容器无关。