Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .NET Web API-意外类型_C#_Serialization_Asp.net Web Api - Fatal编程技术网

C# .NET Web API-意外类型

C# .NET Web API-意外类型,c#,serialization,asp.net-web-api,C#,Serialization,Asp.net Web Api,使用新的ASP.NET MVC Web API,我得到以下错误 不应使用类型信息板页面。使用XmlInclude或SoapInclude属性指定静态未知的类型。 我试图返回一个对象列表,这些对象都来自同一个类:InfoboardItem 按照说明,我为每个涉及的类型添加了一个xmlclude属性,但仍然会遇到这个错误 [HttpGet] [XmlInclude(typeof(InfoBoardEvent))] [XmlInclude(typeof(InfoboardPage))] [XmlInc

使用新的ASP.NET MVC Web API,我得到以下错误

不应使用类型信息板页面。使用XmlInclude或SoapInclude属性指定静态未知的类型。

我试图返回一个对象列表,这些对象都来自同一个类:
InfoboardItem

按照说明,我为每个涉及的类型添加了一个
xmlclude
属性,但仍然会遇到这个错误

[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;
}
[HttpGet]
[xmlclude(typeof(InfoBoardEvent))]
[xmlclude(typeof(InfoboardPage))]
[xmlclude(typeof(InfoboardEventVisitor))]
公共列表页(int ClientNum、int SiteNum、int LangNum)
{
数据信息板数据=新数据(ClientNum、SiteNum、LangNum,1);
var obRetVal=infoboardData.GetPageSequence(“~/InfoBoard”);
返回obRetVal;
}

以前有人见过这个问题吗?有解决办法吗?或者这是产品的问题吗?

您需要将
[xmlclude]
声明添加到InfoboardItem类型,而不是操作中,以XML形式返回派生元素。

这似乎完成了任务,非常感谢。现在要解决新的模糊错误!