0

次のようなカスタム コレクションがあります。

   [Serializable]
public class OccupationCollection : Collection<Occupation>
{
}

これらを次のようなオブジェクトで使用します。

private OccupationCollection _occupations;

  public OccupationCollection CurrentOccupations
    {
        get 
        {
            if (this._occupations == null)
                return new OccupationCollection();
            else
                return _occupations; 
        }
    }

ここで、WCF サービスを呼び出して、これらの種類のリストを含むオブジェクトを渡します。サービスでは、リストは常に null になります。

これはシリアル化などと関係があると確信しています。

これを機能させるために既存のオブジェクトに最小限の変更を加える必要がある最も簡単なソリューションは何でしょうか?

4

1 に答える 1

0

HTTP 経由でサービスをホストしていますか? はいの場合、フィドラーを使用して HTTP トラフィックをチェックし、シリアル化されたバージョンのパラメーターがネットワーク経由で送信されているかどうかを確認できますか? はいの場合、サーバーとクライアントの間のコントラクトにパラメーターの不一致がある可能性があります。また、Serializable/DataContract 属性で装飾された OccupationCollection を保持するオブジェクトはありますか? DataContract 属性がある場合は、シリアル化する必要があるプロパティが Datamember 属性でマークされていることを確認してください。

詳細はこちら.. http://blog.functionalfun.net/2009/09/if-your-wcf-service-is-unexpectedly.html

于 2013-05-31T20:30:04.283 に答える