我正在使用AddXmlDataContractSerializerFormatters将XML中的数据序列化为输出流,但尽管它在JSON中运行良好,但却一再遇到以下问题
以下是我的设置类:
class ADto
{
public string Name { get; set; }
public ICollection<BDto> BDtos { get; set; } = null;
}
class BDto
{
public string Description{ get; set; }
}
[Route("api/[controller]")]
[ApiController]
public class AController : ControllerBase
{
public async Task<IActionResult> GetAs()
{
// some logic
}
}
错误“消息”:“发生意外错误。请稍后重试。\n错误:类型为”系统.集合.泛型.列表“1....模型.Dtos.BDto,....API,版本=1.0.0.0,区域性=中性,PublicKeyToken=null”,数据协定名称为“ArrayOfBDto:不应是http://schemas.datacontract.org/2004/07/....API.Models.Dtos'。请将任何未知类型静态添加到已知类型列表中-例如,通过使用KnownTypeAttribute特性或通过将它们添加到传递给DataContractSerializer的已知类型列表中。
1条答案
按热度按时间ybzsozfc1#
尝试使用
KnownTypeAttribute
解决问题。有关详细信息,请参阅the sample codes and comments。
注意事项:
在您的程式码中,您可以使用KnownType这个字来取代较长的KnownTypeAttribute。