gpt4 book ai didi

asp.net - 如何使用 web 服务返回接口(interface)或 "complex"值?

转载 作者:行者123 更新时间:2023-12-01 05:43:52 25 4
gpt4 key购买 nike

我有一个返回复杂值的网络服务(这是一棵树)

public class DocumentTreeNode
{
public MyDocument Data
{ get; set;}

private LinkedList<DocumentTreeNode> _children;

public IEnumerable<DocumentTreeNode> Children
{
get
{
return _children.AsEnumerable();
}
}

(...)
}

不幸的是,当我调用网络服务时,它返回
<?xml version="1.0" encoding="utf-8"?>
<DocumentTreeNode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://tempuri.org/" />

我已经仔细检查过,我应该返回的对象不是空的。

我猜这意味着 ASP.Net 无法正确序列化我的类(class)(由于 IEnumerable?)。我打算使用 Xml 序列化并让我的服务返回一个 XmlDocument,但我认为这不是最好的方法。

传递这个对象的最简单方法是什么(只需最少的工作)?

最佳答案

序列化程序会跳过返回接口(interface)的属性。它需要一个具体的类型,否则如果不发送额外的类型元数据,就不可能再水合,这不是 OOTB 序列化的一部分。

关于asp.net - 如何使用 web 服务返回接口(interface)或 "complex"值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3575366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com