0

SvcUtil.exe を使用してサービスのプロキシを生成すると、CallbackContract を宣言しているにもかかわらず、ClientBase から派生したクラスを取得します。これはサービス契約です:

[ServiceContract(CallbackContract = typeof(IMechClient))]
interface IMechService
{
    [OperationContract(IsOneWay = true)]
    void Increment();

    [OperationContract]
    bool RegisterPlayer();
}

そして、これは生成されたプロキシ ヘッダーです。

public partial class MechServiceClient : System.ServiceModel.ClientBase<IMechService>, IMechService

もちろん、手動でプロキシを編集することもできますが、このプロジェクトはまだ進行中であるため、プロキシを何度も再生成する必要があり、再コンパイルするたびに手動でプロキシ ファイルを微調整し続けるよりも、今すぐ正しい方法を学びたいと考えています。

4

1 に答える 1

0

代わりに DuplexChannelFactory を使用してプロキシを作成しようとすると、別のエラーが発生し、最初に Callback インターフェイスに OperationContract を実装する必要があることがわかりました。そうしないと、CallbackContract が無視され、DuplexClientBase から派生しません。

于 2013-04-08T05:45:58.150 に答える