16

ベースアドレスの使用は何ですか...つまり、ベースアドレスの意味は何ですか? ベースアドレスを省略すると、どのような問題が発生する可能性がありますか?.

ベースアドレスが必要な場合

以下の構成エントリによると、2 つのベース アドレスがあります...なぜ 2 つのベース アドレスが必要なのか。人々がより多くのベースアドレスを与えるとき? 以下の 2 つのベース アドレスを見て、人々が 2 つのベース アドレスを指定する理由を教えてください。

   <host>
   <baseAddresses>
    <add baseAddress="net.tcp://localhost:1645/ChatServer/"/>
    <add baseAddress="http://localhost:1648/ChatServer/"/>
   </baseAddresses>
   </host>
4

1 に答える 1

27

ベース アドレス (「スキーム」ごとに 1 つ - たとえば、 用httpnet.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ファイルの場所によってそのサービスの "ベース アドレス" が実際に決まります。まったく役立ちます。

于 2012-12-28T13:28:23.803 に答える