我正在做一个汽车拍卖网站作为一个大学项目。该站点使用 Web 服务来完成所有操作,为了让我的生活更轻松,我创建了这个类来存储有关汽车的信息:
public class Car
{
private int id;
private string name;
private string desc;
private int startbid;
private DateTime closingdate;
public int Id
{
get
{
return id;
}
}
public string Name
{
get
{
return name;
}
}
public string Description
{
get
{
return desc;
}
}
public int StartBid
{
get
{
return startbid;
}
}
public DateTime ClosingDate
{
get
{
return closingdate;
}
}
public Car(int id, string name, string desc, int startbid, DateTime closingdate)
{
this.id = id;
this.name = name;
this.desc = desc;
this.startbid = startbid;
this.closingdate = closingdate;
}
}
每当我尝试在浏览器中查看 .asmx 时,我都会收到一条错误消息,指出此类无法序列化,因为它没有无参数构造函数,但使用Car
该类的所有内容在网站中仍然可以正常工作(例如显示有关汽车的信息,无一例外地显示一切)。因此,Web 服务仍在工作,并且不知何故Car
该类仍在序列化。这怎么可能?
编辑:我知道要让我的 .asmx 正确显示,我需要添加public Car() {}
到我的类中,但是我还需要set
为每个属性添加方法,我真的不想这样做,因为这些结果是从数据库中获取的因此(在这种情况下)是只读的。那么在这种情况下,正确的解决方案是什么?也许是一个Obsolete
属性或类似的东西?