繁体   English   中英

ASP.NET:从Web Service方法返回对象列表

[英]ASP.NET: returning list of objects from Web Service method

我想知道如何返回对象列表而不是字符串列表?

返回字符串列表是可行的,但是当我用对象替换所有内容时,它将失败。

这是我的网络服务

[WebMethod]
 public List<OpProduct> SearchProduct(string name) {
   BLProduct blProduct = new BLProduct();
   List<OpProduct> result = byproduct.SearchProducts(name);

   return result;
}

这是我的业务逻辑层

public List<OpProduct> SearchProducts(string name)
{
  List<OpProduct> result = (from item in db.OpProducts where item.Name.StartsWith(name) select item).ToList<OpProduct>();

  return result;
}

这是我的错误消息(对不起,无法翻译此消息)

System.InvalidOperationException:可能是通用的XML文档。 ---> System.InvalidOperationException:错误是对象类型为OpProduct。 bij System.Xml.Serialization.XmlSerializationWriter.WriteStartElement(字符串名称,字符串ns,对象o,布尔型writePrefixed,XmlSerializerNamespaces xmlns)bij Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write9_OpProduct(String n,String ns ,布尔型NeedType)
bij Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write5_OpGeheugen(String n,String ns,OpGeheugen o,Boolean isNullable,Boolean NeedType)
bij Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write9_OpProduct(String n,String ns,OpProduct o,Boolean isNullable,Boolean needType)
bij微软。 o,XmlSerializerNamespaces命名空间,字符串encodingStyle,字符串id)--- Einde van intern uitzonderingsstackpad --- bij System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter,Object o,XmlSerializerNamespaces命名空间,字符串encodingStyle,字符串id) Xml.Serialization.XmlSerializer.Serialize(TextWriter textWriter,Object o,XmlSerializerNamespaces命名空间)bij System.Web.Services.Protocols.XmlReturnWriter.Write(HttpResponse响应,Stream outputStream,Object returnValue)bij System.Web.Services.Protocols。 WriteReturns(Object [] returnValues,Stream outputStream)bij System.Web.Services.Protocols.WebServic eHandler.WriteReturns(Object [] returnValues)bij System.Web.Services.Protocols.WebServiceHandler.Invoke()

谁能帮我?

默认情况下,仅系统原语类型和这些原语类型的数组(如int,float,double,string)可用作返回值。

如果要使用自己的类作为参数,则必须使用XML定义将它们定义为复杂类型。 这是有关此https://msdn.microsoft.com/zh-cn/library/aa480498.aspx的MSDN链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM