XML序列化的KnownType属性是什么?

时间:2011-01-12 12:56:49

标签: asp.net serialization xmlserializer

是否有任何类似的KnownTypeAttribute但是对于XmlSerializerClass? 如何为asmx Web服务配置已知类型?

我创建了一个.asmx Web服务。现在,客户端无法将请求序列化。所以,我想要类似KnownTypesAttribute的东西来指定序列化器必须使用的类型。

2 个答案:

答案 0 :(得分:2)

我只需要将XmlIncludeAttribute添加到类中,该类用作web.service方法的输入参数。这使得客户端生成正确的Web引用,并且XmlSerializer将能够正确地序列化此类。

<Xml.Serialization.XmlInclude(GetType(String()))> _
Public Class MssRequest
.........

答案 1 :(得分:1)

您可以传递已知类型的数组:

 XmlSerializer xs = new XmlSerializer(typeof(MyType),
new Type[] {typeof(MyNestedType)});

在此设置中:

public class MyType
{

     public IMyInterface NestedType { // .... implemented by MyNestedType