Что является аналогом атрибута KnownType для сериализации XML? - PullRequest
1 голос
/ 12 января 2011

Есть ли аналоги KnownTypeAttribute, кроме XmlSerializerClass?Как настроить известные типы для веб-сервисов asmx?

Я создал веб-сервис .asmx.Теперь клиент не может сериализовать запрос к нему.Итак, я хочу что-то вроде KnownTypesAttribute, чтобы указать, какие типы сериализатор должен использовать.

Ответы [ 2 ]

2 голосов
/ 13 января 2011

Мне просто нужно было добавить XmlIncludeAttribute в класс, который используется в качестве входного параметра метода web.service.Это заставляет клиента генерировать правильную веб-ссылку, и XmlSerializer сможет сериализовать этот класс правильно.

<Xml.Serialization.XmlInclude(GetType(String()))> _
Public Class MssRequest
.........
1 голос
/ 12 января 2011

Вы можете передать массив известных типов:

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

В этой настройке:

public class MyType
{

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