我目前正在设置一个通用的Web服务,它接受凭据,环境并尝试记录一个人。它还返回一个具有对特定环境而言重要的返回值的集合。
我遇到的问题是当我想要返回returnvalues
节点中对象图的一部分时。
由于返回值为Dictionairy<string, object>
,因此不知道如何序列化对象图。
所以我想我会将其序列化为MemoryStream
,将其加载到XmlDocument
然后序列化。
如何给出了以下内容:
<returnvalues>
<returnvalue>
<key>defendant</key>
<value xsi:type="xsd:string">
<?xml version="1.0"?>
<something xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
</something>
</value>
</returnvalue>
<returnvalues>
我想得到的是:
<returnvalues>
<returnvalue>
<key>defendant</key>
<value>
<something></something>
</value>
</returnvalue>
<returnvalues>
这可能吗?如果是这样,我如何以这种方式使我的回应动态?我应该为returnvalues
节点使用不同的类型吗?
我应该注意这是在.NET 2.0中,因此我无法访问任何花哨的WCF位:(
答案 0 :(得分:0)
在Xml序列化通用词典时,您需要做一些特殊的事情。
This article告诉您如何操作。
在您的情况下,您需要将WebMethod的返回值设为SerializableDictionary<T1,T2>
。