3

svcutilまたは他のプロキシジェネレーターを使用すると、クライアントに適切なクラスが作成されます。競合を避けるために、このクラスを保存する最良の方法は何だろうか。

  • 他の「共通」プロジェクトで、生成されたクラスをプロキシから削除しますか?
  • または、元のクラスをサービスで使用し、これらをプロキシで複製しますか?
4

1 に答える 1

3

サービスおよびデータ コントラクト クラス WCF クライアントのコードを処理するには、2 つの方法があります。

  • svcutil.exe を使用してすべてを生成します。クライアント プロジェクトからサービス アセンブリへの参照は一切行わないでください。svcutil によって生成されたクラスを使用するだけです。
  • 型を含むアセンブリを直接参照します。クライアントとサーバーの両方からの参照である、DTO クラスに別のアセンブリを使用することがあります。svcutil を使用してクライアント コードを生成するときに、/reference:<file path>オプションを使用して、型を再生成するのではなく、既存のアセンブリから型を再利用するように svcutil に指示します。

元のアセンブリを参照すると、それ/referenceを svcutil に渡さずに競合が発生します。それがあなたに起こったことだと思います。

于 2012-08-01T11:38:03.557 に答える