2011-12-31 3 views
1

MSMQトランスポートを使用するWCFサービスのほとんどの例では、Service Referenceを単に追加するのではなく、Visual Studioコマンドプロンプトでsvcutilを使用してプロキシを手動で作成することが常に推奨されます。ビジュアル・スタジオの「サービス参照の追加」ダイアログにエンドポイント・アドレスを指定するだけでサービスを参照することができるときは、VSコマンド・プロンプトを使用してプロキシを作成したいのはなぜですか(少し面倒です)。私はちょうどWCF 4 Step by Stepを読んで、この中に出くわした:あなたは簡単に のVisual Studioでサービス参照の追加ウィザードを使用することはできませんクライアントプロキシの手動作成とMSMQ WCFサービスの参照の違いは何ですか?

注MSMQ トランスポートを使用してWCFサービスへの参照を追加します。

なぜ厳しいのですか?以前のWCFサービスの参照方法のメリット(ある場合)手動でプロキシを作成するだけでは、タスクが不必要に複雑になってしまうようです。

+0

msmqとの問題がない限り、違いは分かりません。 –

答えて

1

サービスインタフェース、操作、およびデータコントラクトを定義するアセンブリへの参照がある限り、プロキシを事前生成する必要はありません。 ChannelFactoryを使用して、その場でプロキシを作成することができます。

var factory = new ChannelFactory<IMyServiceInterface>("MyServiceNameInAppConfig"); 
var proxy = factory.CreateChannel(); 

これはsvcutilを使用するよりもはるかに簡単です。ただし、サービスがリモートで、型アセンブリにアクセスできない場合は、プロキシを生成する以外に選択肢はありません。

なぜVSの代わりにsvcutilを使用してプロキシコードを生成するのが簡単なのかについては、実際の本を見ずにコメントするのは難しいですが、ビジュアルスタジオではsvcutilを使用してコードを生成しますそれがどんなに良くなるか悪いかを見ることはできません。これを手動で行うと、私は何が生成されるのかをより詳細に制御できます。

関連する問題