Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用C#/Json序列化web服务中的结构_C#_Json.net_Ashx - Fatal编程技术网

使用C#/Json序列化web服务中的结构

使用C#/Json序列化web服务中的结构,c#,json.net,ashx,C#,Json.net,Ashx,我正在编写一个非常简单的C#HttpHandler(ashx)作为web服务使用,并打算使用Json.Net跨服务器边界序列化一个小的(4-5个字段)结构 在web服务端序列化结构并将其反序列化为另一端的正确类型(这恰好是一个单独的c#web应用程序),而不必在每一端或多或少地复制和粘贴结构的定义,我有哪些选择?现在,结构是web服务和消费web页面中的嵌套类型。我可以将其提取到自己的类程序集中,并在两端添加引用,但这似乎并不比在两端维护定义简单。我还有其他明智的选择吗?如果您只有几个类型需要传

我正在编写一个非常简单的C#HttpHandler(ashx)作为web服务使用,并打算使用Json.Net跨服务器边界序列化一个小的(4-5个字段)结构


在web服务端序列化结构并将其反序列化为另一端的正确类型(这恰好是一个单独的c#web应用程序),而不必在每一端或多或少地复制和粘贴结构的定义,我有哪些选择?现在,结构是web服务和消费web页面中的嵌套类型。我可以将其提取到自己的类程序集中,并在两端添加引用,但这似乎并不比在两端维护定义简单。我还有其他明智的选择吗?

如果您只有几个类型需要传输,而且它们不太可能发生太大的变化,请在两端定义它

如果你有很多,那么共享一个dll

没有魔法真的。。。json在设计上是完全没有契约的。事实上,在大多数情况下,即使是匿名类型也可以很好地序列化


就我个人而言,我会使用
而不是
结构
,不过。。。像往常一样,除非你有一个真正的好主意为什么要使用
struct
,否则还是选择
class
:大多数情况下,它们被错误地使用了。

谢谢你的确认——这也是我的直觉。FWIW,所讨论的对象实际上只是一个字符串属性的集合,捆绑在一起只是为了便于跨边界序列化。对于经常被误解的结构来说,这似乎是一个完美的例子。我错了吗?@cori-是的;在那里上课更合适。选择与它是一个简单的容器无关。