【发布时间】:2021-12-25 11:06:14
【问题描述】:
我正在开发允许我使用数据库及其表的 ASMX 服务。架构如下所示
[DataContract]
public class DataBase
{
[DataMember]
public string Name { get; set; }
[DataMember]
public List<Table> Tables { get; set; }
...
}
[DataContract]
public class Table
{
[DataMember]
public string Name { get; set; }
[DataMember]
public List<Column> Columns { get; set; }
[DataMember]
public List<List<object>> Data { get; set; }
...
}
[DataContract]
public class Column
{
[DataMember]
public string Name { get; set; }
[ DataMember]
public string Type { get; set; }
...
}
“数据”字段用于保存所有不同类型值的表格。问题是 - 我必须使用一些自定义类型:
public class Email
{
[DataMember]
public string address { get; set; }
...
}
public class Strings : List<string>
{
public Strings(IEnumerable<string> collection) : base(collection) { }
...
}
问题在于 Web 服务不会创建对这些类型的引用。我没有在方法中明确使用它们,而是存储在表中。使用 KnownType 和 DataContract 对我没有帮助,当我在客户端应用程序中创建相同的类时,我有例外。请帮忙?
【问题讨论】:
标签: c# web-services wcf asmx