2009-04-20 7 views
3

WCFプロキシコードを別のDLLに(私が実行したすべての例で見ることができるように、EXEではなく)正常に移動することができないようです。WCFとプロキシコードをDLLに移動します。出来ますか?

私は、私のプロキシコードを別のクライアント(おそらくアンマネージコード)が呼び出すようにしたいのですが、WCFについて何も知らないかもしれないが、代理人によって公開されるファサードはおそらく?)。

同じソリューション内の別のVSプロジェクトに新しいプロキシを作成する次のコードを移動すると、「」というServiceModelクライアント構成の契約「localhost.IRemoteCommandService」を参照するデフォルトエンドポイント要素が見つかりませんでしたセクション "例外。プロキシコードは、(自動生成されたVisual Studioから)であり、同じプロジェクトのメインメソッド内で使用されるときはいつでも

localhost.RemoteCommandServiceClient proxy = 
    new localhost.RemoteCommandServiceClient(); 

同じコードが円滑に機能します。

私は、私のプロキシのクライアントコードがサービスモデルのXML設定をプロキシとして持つ必要がないことを願っています。なぜなら、これはWCFプロキシコードを最初にDLLに移動するという目的を破棄するためです。

おかげで、 ステファノ

答えて

2

クライアントでエンドポイント構成をしたくない場合は、コード内にすべてを指定してプロキシdllに埋め込む必要があります。

もう1つのオプションは、このoneのようなダイナミックプロキシを使用して、クライアントアプリケーションにserviceModelを持たないようにすることです。

+0

ありがとうございました、エンドポイント情報をコーディングすることはトリックでした(私はそれを避けることができたと思っていましたが)。 –

4

エンドポイントが実際に正常に設定ファイルで指定されています。設定ファイル内のserviceModelデータを見て、呼び出しapp.configにコピーする必要があります。コード内でプロキシを作成する(つまり、アドレス、バインディング、設定などをコードで指定するなど、もっと冗長な方法を使用する必要があります)コンストラクタに渡します)。

関連する問題