【问题标题】:ASMX can't set known type attributesASMX 无法设置已知类型属性
【发布时间】: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


    【解决方案1】:

    我修复了它:基本上我创建了返回 nedded 类型对象的虚拟方法,从客户端应用程序中删除了方法引用并且它起作用了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-13
      • 2020-01-02
      • 2019-07-26
      相关资源
      最近更新 更多