ベース アドレス (「スキーム」ごとに 1 つ - たとえば、 用http
、net.tcp
など) は、アドレスの「ベース」を定義できます。これは、複数のエンドポイントを指定する場合に非常に役立ちます。
ベースアドレスは必須ではありません。これはオプションであり、生活を簡素化するのに役立ちます。
ベース アドレスを持つことで、実際のサービス アドレスごとに異なる「相対」部分のみを指定できます。
3 つのサービス エンドポイントが必要な場合を想像してください。次のような構成で、それらすべてを個別に完全に定義できます。
<service name="Test1">
<endpoint name="endpoint1"
address="http://yourserver/yourservices/test1/service1" ..... />
<endpoint name="endpoint2"
address="http://yourserver/yourservices/test1/service2" ..... />
<endpoint name="endpoint3"
address="http://yourserver/yourservices/test1/service3" ..... />
</service>
または、ベースアドレスを指定して共通部分を定義し、「相対」アドレスを読みやすくすることができます。
<service name="Test1">
<host>
<baseAddresses>
<add baseAddress="http://yourserver/yourservices/test1/"/>
</baseAddresses>
</host>
<endpoint name="endpoint1"
address="service1" ..... />
<endpoint name="endpoint2"
address="service2" ..... />
<endpoint name="endpoint3"
address="service3" ..... />
</service>
そのため、ベース アドレスを使用すると、複数のエンドポイントを簡単に指定できるようになり、入力の手間も省けます。
また、ベース アドレスは、WCF サービスを自己ホストしている場合にのみ有用であることに注意してください。IIS を使用して WCF サービスをホストしている場合、*.svc
ファイルの場所によってそのサービスの "ベース アドレス" が実際に決まります。まったく役立ちます。