【问题标题】:Returning Custom object which implements List<> in Web Service返回在 Web 服务中实现 List<> 的自定义对象
【发布时间】:2009-07-07 10:56:29
【问题描述】:

我的任务是编写一个带有地址返回列表的新 Web 服务。

为此,我创建了一个类,如下所示:

 [Serializable]
public class AddressDataCollection : List<AddressData>
{
    private long m_ErrorCode;

    private string m_ErrorMessage;

    public long ErrorCode
    {
        get
        {
            return m_ErrorCode;
        }
        set
        {
            m_ErrorCode = value;
        }

    }

    public string ErrorMessage
    {
        get
        {
            return m_ErrorMessage;
        }
        set
        {
            m_ErrorMessage = value;
        }
    }
}

我有一个返回这个对象的网络服务函数。

    [WebMethod]
     public AddressDataCollection FastFindLookup(string strAddress, int MaxWaitTimeInMilliSeconds)
    {
    }

但是,当我尝试在客户端应用程序中使用此对象时,Visual Studio 代码生成器返回 AddressData[] 并丢弃 ErrorCode、ErrorMessage 道具。

我正在为客户端和服务使用 asp.net 2.0。

我错过了什么吗?

【问题讨论】:

  • 我建议你也在这里发布确切的错误信息。

标签: c# .net asp.net web-services


【解决方案1】:

您可以将 AddressData 列表作为属性,或者实现 IXmlSerializable 并滚动您自己的序列化。可能第一种方法最简单。

【讨论】:

    【解决方案2】:

    很遗憾,您不能这样做。您必须创建一个包含列表和两个属性的类,并将其序列化。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-15
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-21
      • 2011-05-12
      相关资源
      最近更新 更多