ASMX WebService 返回 XmlNode 而不是自定义对象
这是 Web 服务:
自定义类:
public class A
{
public A()
{
}
public B prop { get; set; }
}
public class B
{
public B()
{
}
public A prop { get; set; }
}
Webmethod:
[WebMethod]
[XmlInclude(typeof(A))]
public object Test()
{
A a = new A();
a.prop = new B();
return a;
}
这是客户端:
Service ws = new Service();
var response = ws.Test();
那么,为什么 Web 服务返回 XmlNode 列表而不是 A 类?怎么解决呢?
PS:如果我评论 public A prop { get;放; }
行,它有效
Here is the webservice:
Custom classes:
public class A
{
public A()
{
}
public B prop { get; set; }
}
public class B
{
public B()
{
}
public A prop { get; set; }
}
Webmethod:
[WebMethod]
[XmlInclude(typeof(A))]
public object Test()
{
A a = new A();
a.prop = new B();
return a;
}
Here is the client side:
Service ws = new Service();
var response = ws.Test();
So, why is the webservice returning XmlNode list instead of class A? How to solve it?
PS: if I comment public A prop { get; set; }
line, it works
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好的,找到了解决方案:
我可以使用包装器,如下所示:
或者我使用 [return:] 属性,如下所示:
关于属性目标:
Ok, found the solution:
I could use a wrapper, like this:
Or I use the [return:] attribute, like this:
About attribute targets: