1

私は Web サービスにまったく慣れていないので、オブジェクト グラフを処理できる Web サービスを作成する必要があります。私の標準的な例は、顧客番号を指定すると、Contacts のコレクション プロパティを持つ Company 型の「オブジェクト」を返す CRM Web サービスです。

すなわち:

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

次のインスタンスを返します。

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

Web サービスを作成して、Visual Studio から簡単に使用できるようにして、会社や関連する連絡先と直接連携できるようにできれば、非常に便利です...

これは可能ですか?

ありがとうフレドリック

4

2 に答える 2

2

ASMX Web サービスの代わりに、Windows Communication Foundation (WCF) を使用することをお勧めします。これにより、次のような属性を持つデータ コントラクトを定義できます。

[DataContract]
public class Company
{
    [DataMember]
    public Contact[] Contacts { get; set; }
}
于 2010-02-03T13:43:26.313 に答える
1

DataContract の IsReference 属性のサポートを追加する .NET Framework 3.5 SP1 の修正は、まさに私が必要としているものです。

だから私は書くことができます:

[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; }
    }
}

私を正しい方向に導いてくれたすべての助けに感謝します!

// フレドリック

于 2010-02-08T08:02:47.653 に答える