サービスで公開されているすべてのメソッドにURLを介してアクセスしたいです。 URLがされると仮定した場合:実行時にURL経由でWCF Webサービスを使用するにはどうすればよいですか?
http://localhost/MyService/MyService.svc
私はメソッドにアクセスするにはどうすればよい:私はServiceReference
- を。
サービスで公開されているすべてのメソッドにURLを介してアクセスしたいです。 URLがされると仮定した場合:実行時にURL経由でWCF Webサービスを使用するにはどうすればよいですか?
http://localhost/MyService/MyService.svc
私はメソッドにアクセスするにはどうすればよい:私はServiceReference
WCFサービスを使用するには、WCFクライアントプロキシを作成する必要があります。
Visual Studioでは、プロジェクトを右クリックし、コンテキストメニューから[サービス参照の追加]を選択します。接続するURLを入力します。サービスが実行されている場合は、クライアントプロキシファイルが生成されます。
このファイルには通常、MyService クライアントというクラスが含まれています。そのクラスをインスタンス化することができます。利用可能なすべてのメソッドが自由に使えるようになります。
Visual Studioでサービス参照を追加しない場合は、svcutil.exe
コマンドラインツールを実行すると同じ結果が得られます。これにより、クライアントプロキシクラスのすべての必要なファイルが生成されます。
マルク・
UPDATE:
あなたは、実行時にクライアントプロキシを初期化したい場合、あなたは間違いなくそれを行うことができます - あなたはどの(トランスポートプロトコル)を使用するバインディングを決定する必要がありますし、どのアドレス接続し、その後、あなたが行うことができます。
BasicHttpBinding binding = new BasicHttpBinding();
EndpointAddress address = new EndpointAddress("http://localhost:8888/MyService");
MyServiceClient serviceClient = new MyServiceClient(binding, address);
しかし、この場合でも、あなたは、またはsvcutil.exeツール「サービス参照の追加」を使用して、インポートされ、最初のプロキシクライアントを作成しておく必要があります。
こんにちはマーク、 お返事ありがとうございます。私は同じことをしており、アクセスすることができます。しかし私の要件は、彼がURLを見ることができるクライアントに同じインタフェースを提供すること(私たちがサービス参照を追加するために右クリックするときに得られるように)であり、サービス参照は選択されたURLに従って更新される。 –
実行時にこれをどのように習得できますか?選択したURLを使用して実行時にサービスを構築する方法。 –
OK、クライアントに実行時にサービス参照を追加させたいのですか?彼は彼らと何をするつもりですか?つまり、実行時にプロキシを作成できますが、どうやってメソッドを呼び出すのでしょうか? –
サービスリファレンスを持たずに行う方法をお答えください。こちらをご覧(オプション#A)を持っている:
あなたはまだいくつかの基準(契約/インターフェースを含むアセンブリへの参照すなわち)が必要ですが、あなたはサービス参照をすることはありません。
編集: 上記は可能ですが、私はそれをお勧めしません。このようなプロキシを生成しなければならない場合、パフォーマンスは正確には高くありません。私は通常、svcutil.exeを使用してクライアントを含むアセンブリを作成し、そのアセンブリへの参照を作成します。このようにして、プロキシの外観を制御するオプションが増えます。
あなたのサービスのwsdlを提供することができます:http://localhost/MyService/MyService.svc?wsdl。
wsdlから、プロキシクラスを生成してクライアント上で使用できます。
あなたの質問を明確にしてください。私はあなたが何を達成したいかを伝えることはできません。メソッドを呼び出せるようにしたいのですか、それらのリストが必要ですか? –
ジョン私はメソッドにアクセスしたいです。私はURLを使ってWebサービスを消費したいと考えています。 –
サービス参照を使用してみませんか? –