[英]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.