不能序列化成员 asp asmx

本文关键字:asmx asp 成员 序列化 不能 | 更新日期: 2023-09-27 17:56:57

我在发送具有 3 个属性的对象时遇到问题,问题出在发送时客户数组 我有以下错误对象:

不能序列化成员。因为它是一个接口。

如果物业关闭客户WS工作得很好。我已经尝试了各种方法来消除错误,但似乎没有一种方法可以留下一段代码,以便他们可以给我他们的观点。谢谢

public class CustomersResponse
{
    public bool Success { get; set; }
    public string Error { get; set; }
    public customer[] ListCustomers { get; set; }
}

而WS的代码是

/// <summary>
/// 
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
// [System.Web.Script.Services.ScriptService]
public class wsCustomers : System.Web.Services.WebService
{
    [WebMethod]
    public CustomersResponse CustomersResult()
    {
        CustomersResponse customers = new CustomersResponse ();
        try
        {
            using (var context = new DataContext())
            {
                customers.Success = true;
                customers .Error = string.Empty;
            }
        }
        catch (Exception ex)
        {
            customers .Success = false;
            customers .Error = ex.Message.ToString();
        }
        return customers ;
    }
}

如果我删除属性列表客户,ws 运行良好,如果我标记错误:(

不能序列化成员 asp asmx

您需要在客户类之前放置[Serializable]元标记。

[Serializable]
public class customer
{
/

/....

}

我已经可以解决问题a.cual是我有一个称为客户的模型的解决方案 实体框架 使用。 另一个类是使用相同的属性创建的 客户 并且已经工作 当编译应用程序时,思考会做一些影响客户的事情,因此标记该异常。