.NET Web API - неожиданный тип - PullRequest
0 голосов
/ 29 марта 2012

Используя новый веб-API ASP.NET MVC, я получаю следующую ошибку

The type InfoboardPage was not expected. Use the XmlInclude or SoapInclude attribute to specify types that are not known statically.

Я пытаюсь вернуть список объектов, которые все происходят изтот же класс: InfoboardItem

Я добавил атрибут XmlInclude для каждого из задействованных типов, как указано в инструкции, но я все еще получаю эту ошибку.

[HttpGet]
[XmlInclude(typeof(InfoBoardEvent))]
[XmlInclude(typeof(InfoboardPage))]
[XmlInclude(typeof(InfoboardEventVisitor))]
public List<InfoboardItem> Pages(int ClientNum, int SiteNum, int LangNum)
{
    Data infoboardData = new Data(ClientNum, SiteNum, LangNum, 1);
    var obRetVal = infoboardData.GetPageSequence("~/InfoBoard");

    return obRetVal;
}

Есть кто-нибудьвидел этот вопрос раньше?Есть ли решение?Или это проблема с продуктом?

1 Ответ

2 голосов
/ 29 марта 2012

Необходимо добавить объявление [XmlInclude] к типу InfoboardItem, а не к операции, чтобы вернуть производные элементы в виде XML.

...