1

私は持っています:

  1. WCFサービス[アプリケーション1]
  2. このサービスと通信するロジック[Project1Application2]
  3. このロジックを使用したWebページ[Project2Application2]

Logicプロジェクトで、Serviceにサービス参照を追加しましWebページで、Logicにプロジェクト参照を追加しました。

これで、サービスへのエンドポイントがLogicプロジェクトで定義されたため、 Webページからサービスに接続できなくなりました。

私の解決策は、ロジック構成の一部をWebページ構成にコピーすることであることを知っていますが、それは良い解決策ではないと思います。

Logicをブラックボックスにしたいと思います。別のサービス、おそらく別のサービスに変更しないかどうかわからないので、WebPageでLogicの動作を「知り」たくありません。

より良い解決策はありますか?WebPageにServiceへの接続方法を認識させるLogicプロジェクトでできることはありますか?

例外が発生しています: Could not find default endpoint element that references contract

4

1 に答える 1

1

もう1つのオプションは、構成ファイルではなくコードにエンドポイントを配置してロジックを構成することです。Webサービスクライアントを作成するときは、このオーバーロードを使用します。これは、BindingとEndpointAddressをパラメーターとして受け取ります。Logicクラスのコードでは、構成ファイルから自動的に読み取るのではなく、コードでこれらのパラメーターを指定するだけです。

于 2012-09-24T15:54:36.757 に答える