0

WCFサービスを作成しています。最初は、このライブラリを参照していた1つのWCFサービスライブラリプロジェクトと1つのコンソールプロジェクトがありました。また、クライアントプロジェクトで「サービス参照の追加」を使用した場合、サービスライブラリに有効なApp.Configファイルがある限り、正常に機能しました。

ただし、ここで、サービスライブラリとコンソールホストを1つのコンソールプロジェクトに結合したいと思います。結局のところ、以前のコンソールプロジェクトは非常に単純でした。しかし、ここで問題が発生します。「サービス参照の追加」を選択し、新しいコンソールプロジェクトのApp.configファイルで定義したエンドポイントを指定すると、サービス参照が見つかりません。サービス参照の追加機能がオンになっている場合、サービスはwcfsvchost.exeによってホストされないため、私はそれを採用します(そしてそれは理にかなっていると思います)。しかし、私はそれを機能させる方法を考えることができません。では、サービスが単一のコンソールホストプロジェクトである場合、サービス参照をどのように追加する必要がありますか?

4

1 に答える 1

0

最も簡単な方法は、WCFサービスを実行し、サービス参照を生成して、それを1つのアプリケーションに結合することです。app.configのアドレスを変更するだけです。ただし、app.configのサーバー部分ではなく、クライアント部分のアドレスを変更する必要があるため、これには注意してください。

ただし、このアプローチは、サービスデータコントラクトを変更してサービス参照を再生成することを決定するときに、将来維持するのが困難になります。次のことを検討することをお勧めします。サービス参照をアセンブリにラップし、代わりにアセンブリを使用します。このようにして、必要なときにいつでもサービス参照を再生成できます。

于 2012-04-02T08:31:19.013 に答える