1

会社の ID を返す Web サービス メソッドを呼び出そうとしています。

GetCompanyCommand companyRef = new GetCompany();

しかし、既に存在するWebサービスにメソッドがあり、コンストラクターにはパラメーターがあります

public GetCompanyCommand(Guid actCompanyId)
    {
        this.actCompanyId = actCompanyId;

    }

問題は、Web サービス参照を更新しようとすると、パラメーターなしのコンストラクターが含まれていないため、メソッドをシリアル化できないというエラーが表示されることです。

既存のコンストラクターを変更せずにこれを修正する方法はありますか? 他の多くのメソッドがすでにそれを呼び出しているためです。

4

1 に答える 1

2

Webサービスクラスにパラメーター付きのコンストラクターがある場合は、パラメーターなしのコンストラクターが必要です。お気に入り

public GetCompany()
{

}

これはの制限ですXmlSerializer。これは必須ではないことに注意してくださいBinaryFormatter。エーテルから初期化されていないオブジェクトを作成し、逆シリアル化中に初期化することができます。DataContractSerializer

オブジェクトの実行中に、オブジェクトのde-serialization逆シリアル化を担当するクラスinstanceは、シリアル化されたクラスのを作成し、入力するインスタンスを取得した後でのみ、シリアル化されたフィールドとプロパティの入力に進みます。

于 2012-11-06T09:57:45.150 に答える