2011-01-10 8 views
2

私はちょうどWCFを使い始めており、Miguel A. Castroさんが投稿した古い記事WCF the Manual Wayを使っています。この記事では、ChannelFactoryを使用してサービスプロキシを作成する方法について説明します。記事の中で、彼はプロキシを作成するには、このコードを示しています。私は、web.configファイルで構成されたエンドポイントとそのコードを使用しようとするとマニュアルWCFとChannelFactory

IProductAdmin productAdminChannel = new ChannelFactory<IProductAdmin>().CreateChannel(); 

、私はこのエンドポイントがnullであることについてエラーを得続けます。それは、私がChannelFactoryコンストラクタでエンドポイントの名前を指定するとうまくいきますが、再利用性のための最良の選択肢ではないようです。

IProductAdmin productAdminChannel = new ChannelFactory<IProductAdmin>("*").CreateChannel(); 

はこのちょうど変更される方法(記事は、ほぼ2歳以降)のChannelFactoryクラス作品:私はこれを行う場合しかし、また、動作しているようですか? WCFサービスプロキシと再利用性を作成するための「ベストプラクティス」は何ですか?

+0

**あなたに**あなたのweb.configを表示できますか? ** IProductAdmin **インターフェースを参照するセクション内のエンドポイントはありますか?あなたのアプローチは、私があなたのコードから伝えることができる限り、大丈夫だと思われます。 –

+0

まだお持ちでない方は、Miguel Castroと "Extreme WCF"と呼ばれるDNRテレビ番組も見てください。 http://www.dnrtv.com/default.aspx?showNum=122 –

+0

[なぜ私のChannelFactoryが私のエンドポイント構成を見ていないのですか?](http://stackoverflow.com/questions/426041/why-doesnt -my-channelfactory-my-endpoint-configuration) –

答えて

2

私は元の記事を話すことはできませんが、作者の見落としに過ぎませんか?私が知る限り、あなたの投稿の2番目のリストは、常に設定ファイルを使ってチャンネルを作成する方法でした。 *を渡すと、ファイルのチャンネルタイプにデフォルト/最初の設定が使用されます。同じタイプの複数の名前付き設定がある場合は、*の代わりに特定の名前を渡すこともできます。

私は数年間、( "*")経路を使用してきました。タイプごとに1つのエンドポイントしか持たない場合は、良い方法です。

+0

お役立ち情報ありがとうございました! – Doug

+0

これに関する文書はありますか? –

関連する問題