是否有任何类似的KnownTypeAttribute但是对于XmlSerializerClass? 如何为asmx Web服务配置已知类型?
我创建了一个.asmx Web服务。现在,客户端无法将请求序列化。所以,我想要类似KnownTypesAttribute的东西来指定序列化器必须使用的类型。
答案 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