簡體   English   中英

對象圖和Web服務

[英]Object graphs and web services

我真的是Web服務的新手,需要創建一個可以處理對象圖的Web服務。 我的典型示例是CRM Web服務,該服務提供給定的客戶編號將返回類型為Company的“對象”,並具有Contacts的集合屬性。

即:

[WebService]
public Company GetCompanyByCustomerNumber( string customerNumber ) {...}

將返回以下內容的實例:

public class Company
{
....
  public List<Contact> Contacts { get { ... } }
}

能夠創建Web服務,以便可以輕松地從Visual Studio中使用它,以便可以直接與公司和相關聯系人一起使用,真是太好了。

這可能嗎?

謝謝弗雷德里克

除了使用ASMX Web服務,最好使用Windows Communication Foundation (WCF)。 這樣,您可以使用以下屬性定義數據合同

[DataContract]
public class Company
{
    [DataMember]
    public Contact[] Contacts { get; set; }
}

似乎.NET Framework 3.5 SP1中的修復程序增加了對DataContract上IsReference屬性的支持,這正是我所需要的!

所以我可以寫:

[DataContract(IsReference=true)]
public class Contact
{
    Company parentCompany;
    [DataMember]
    public Company ParentCompany
    {
        get { return parentCompany; }
        set { parentCompany = value; }
    }

    string fullName;
    [DataMember]
    public string FullName
    {
        get { return fullName; }
        set { fullName = value; }
    }
}

[DataContract(IsReference = true)]
public class Company
{
    string name;
    [DataMember]
    public string Name
    {
        get { return name; }
        set { name = value; }
    }

    List<Contact> contacts = new List<Contact>();
    [DataMember]
    public List<Contact> Contacts
    {
        get { return contacts; }
    }
}

感謝所有為我提供正確指導的幫助!

// Fredrik

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM