不能在 Web 服务应用程序中出现 System.ComponentModel.ISite 错误的可序列化成员 Syst

本文关键字:错误 ISite 序列化 Syst 成员 ComponentModel System 服务 Web 应用程序 不能 | 更新日期: 2023-09-27 18:34:08

我有一个Web服务应用程序,它从SQL Server数据库获取数据。我想得到产品我的数据库,所以我写了一个如下方法:我该怎么办?

 public class ProductBusiness :System.Web.Services.WebService
{
    public int ProductId { get; set; }
    public string ProductName { get; set; }
    public byte[] ProductImage { get; set; }

[WebMethod()]
    public List<ProductBusiness> getProduct()
    {
        using (HealthyFoodEntities db = new HealthyFoodEntities())
        {
            var query = from x in db.Products
                        select new ProductBusiness
                        {
                            ProductImage = x.Picture,
                            ProductName = x.ProductName
                        };
            return query.ToList();
        }
    }

不能在 Web 服务应用程序中出现 System.ComponentModel.ISite 错误的可序列化成员 Syst

您不能返回ProductBusiness类的实例,因为它本身将引用Service的实例。

因此,请更改您的服务类名称,如下所示:

public class ProductBusinessService :System.Web.Services.WebService

或者,将您的自定义类与服务类分开,并将其重命名为其他名称,如下所示:

public class ProductBusinessData
{
    public int ProductId { get; set; }
    public string ProductName { get; set; }
    public byte[] ProductImage { get; set; }
}

然后,您可以在您的服务中使用它:-

[WebMethod]
public List<ProductBusinessData> getProduct()
{
  //Your Code
}