我在发送具有3个属性的对象时遇到问题,问题在于发送时客户数组我有以下错误对象:
您无法序列化成员。因为它是一个界面。
如果客户的财产运作良好。 我已尝试以各种方式消除错误,但似乎没有任何工作留下代码片段,以便他们可以给我他们的观点。非常感谢你
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 ;
}
}
如果我删除属性ListCustomers ws运行良好,如果我把标记错误:(
答案 0 :(得分:0)
您需要在客户类之前放置[Serializable]
元标记。
[Serializable]
public class customer
{
// ...
}
答案 1 :(得分:0)
我已经可以解决问题了。我的解决方案是我有一个名为customers EntityFramework的模型。另一个类是使用相同的属性客户创建的,并且在编译应用程序时会考虑做一些影响客户的事情,因此将该例外品牌化。