2009-06-08 6 views
1

エンドポイントの一部としてアドレスを指定して、フォーマットは次のとおりです。WCFのアドレスの最後の部分は正確に何ですか?

http://localhost:8080/MyWCFServiceやnet.tcp:// localhostを:8080/MyWCFService

指導(洋書の、MSDNなど)は述べて「/ MyWCFService 'はサービスへの'パス 'です。

正確にはどういう意味ですか?

サービス実装のタイプ(物理ディレクトリパス、仮想ルートパス、名前空間など)とは異なりますか?

実際に何があっても、CLR/WCFライブラリはどのようにそのデータを利用して作業を行いますか?その型であれば、servicehost(serviceHost.Open();)が関連するオブジェクトをインスタンス化し、要求されたメソッドを呼び出すことができることがわかります。

答えて

1

/MyWCFServiceは、ASP.NETの仮想ディレクトリです。ソリューションやプロジェクトに /MyWCFService/SomeService.svcのようなものがあるでしょう。

1

例では、MyWCFServiceは物理アドレスではなく、特定のバインディング用に構成されたエンドポイントに対応しています。

1つのServiceHostで複数のサービスをホストでき、それぞれに複数のendPointがあります。

サービスがIISによってホストされている場合、ベースアドレスは.svcファイルへの仮想パスになります。

1

住所はあなたのサービスがどこにあるかを示します。これは、サービスのロケーションと、サービスとの通信のためのトランスポートプロトコルを提供します。

「/ MyWCFService」部分がオプションの特定のパスである間、ローカルホスト部分はターゲットマシン用です。

1

アドレスは、サービスが自分のサービスを公開する、またはクライアントが接続する「場所」を表す文字列です。デフォルトでは、「物理的」なものには直接接続していません。それはファイルまたは何かを参照していません。

IISでサービスをホストする場合、マシンとポートの直後のアドレスの最初の部分は、実際は* .svcファイルがあるIIS仮想ディレクトリの名前になります。

MSMQの場合、サービスアドレスはMSMQキュー名(またはその逆)に対応する必要があります。

これらの場合以外は、実際にはアドレスは特定のサービスを見つける場所を説明する方法に過ぎません。

最初の部分http://、https://、net.tcp://などは通常「スキーマ」と呼ばれ、クライアントをサービスに接続するために使用されるトランスポートプロトコルを大まかに示します。

通常、2番目の部分はマシン名で、オプションでポート番号を使用します。この部分は物理的なエンティティに接続されています。もちろん、あなたのマシンは存在しなければなりません。ポート番号は利用可能で利用可能でなければなりません。

サービスの "パス"と呼ばれるものは、自分でサービスをホストしている場合(コンソールアプリケーションやWindows NTサービスなど)は、本当に何でもできます。 。自己ホストしている場合、パスはディスク、仮想ディレクトリなどの物理パスとはまったく関係しません。

実際にサービスクラスをホストして実行するコード(通常の.NETクラス)は、アドレス、バインド、および契約を持つ任意の数のエンドポイントを公開/公開します。したがって、サービスホストは、そのサービスに対してどのURIが有効であるかを定義します。次に、クライアントは同じアドレススキーマ(http://、https://、net.tcp://)、マシン名とオプションのポート、およびパスを指定して、公開されたエンドポイントのいずれかに接続する必要がありますサービスの

マーク

関連する問題