私はWCFサービスを構築しています。 ListViewItemや既に定義済みのクラスオブジェクトなどの型を持つクラスのコードを生成しないプロキシに関する問題があります。クラスプロパティの種類に関するWCF
以下の2つの例は、私が渡そうとしているクラスです。第二の例では
例1
[DataContract]
public class InvoiceCharges {
#region Property...
private int _invoiceChargeID;
private ListViewItem _listViewItem;
[DataMember]
public int InvoiceChargeID {
get { return _invoiceChargeID; }
set { _invoiceChargeID = value; }
}
[DataMember]
public ListViewItem ListViewItem {
get { return _listViewItem; }
set { _listViewItem = value; }
}
#endregion
例#2
[DataContract]
public class Users {
#region Properties...
private int _userID;
private Divisions _Division = new Divisions();
[DataMember]
public int UserID {
get { return _userID; }
set { _userID = value; }
}
[DataMember]
public Divisions Division {
get { return _Division; }
set { _Division = value; }
}
それはちょうどそれがすでに見ている私の課のクラスを渡して苦労している理由は、私は混乱しています。確かにWCFは独自のカスタムオブジェクトを渡すことができますか?任意のヘルプは非常に高く評価され、私はあなたのクラスに特別な何かをしなければならない独自のカスタムオブジェクトをシリアライズするために他のプラットフォームで知っています。 WCFがこれを自動的に処理するかどうかはわかりませんでした。この上の任意の他のヘルプがまだ評価されて
EDIT。
また、私はInvoiceChargesクラスに以下を追加しようとしましたが、依然としてプロキシが正しく生成されるのを見ることができませんでした。
[KnownType(typeof(ListViewItem))]
また、これはプロキシの動作です。私はこれを行うためにサービス参照の追加を使用しています。
それはそのすべてのためにそれのListViewItemのいくつかの "InvoiceCharges" を生成する方法を参照してください。私はそれとその罰金のDataMember属性を削除することができます。
DivisionsクラスにもDataContract属性がありますか? –
はい、奇妙なのは、問題のあるカスタムオブジェクト(ListViewItemプロパティとDivisionプロパティなど)から[DataMember]属性を削除したときです。クラスは、クライアント側でプロキシを正常に生成します。 – meanbunny
私は、ListViewItemがDataContract属性でマークされていないと推測しています。そのため、そこに問題がある可能性があります。コードを投稿していないのでDivisionsクラスではわかりません。 –