Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Punkty końcowe zapewniają klientom dostęp do funkcji oferty usługi Windows Communication Foundation (WCF). Można zdefiniować jeden lub więcej punktów końcowych dla usługi przy użyciu kombinacji względnych i bezwzględnych adresów punktu końcowego lub jeśli nie zdefiniujesz żadnych punktów końcowych usługi, środowisko uruchomieniowe udostępnia niektóre domyślnie. W tym temacie przedstawiono sposób dodawania punktów końcowych przy użyciu pliku konfiguracji zawierającego zarówno adresy względne, jak i bezwzględne.
Przykład 1
Poniższa konfiguracja usługi określa adres podstawowy i pięć punktów końcowych.
<configuration>
<appSettings>
<!-- use appSetting to configure base address provided by host -->
<add key="baseAddress" value="http://localhost:8000/servicemodelsamples/service" />
</appSettings>
<system.serviceModel>
<services>
<!-- This section is optional with the default configuration introduced in .NET Framework 4. -->
<service name="Microsoft.ServiceModel.Samples.CalculatorService">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8000/ServiceModelSamples/service"/>
</baseAddresses>
</host>
<endpoint address=""
binding="wsHttpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
<endpoint address="/test"
binding="wsHttpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
<endpoint address="http://localhost:8001/hello/servicemodelsamples"
binding="wsHttpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
<endpoint address="net.tcp://localhost:9000/servicemodelsamples/service"
binding="netTcpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
<!-- the mex endpoint is another relative address exposed at
http://localhost:8000/ServiceModelSamples/service/mex -->
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
<!--For debugging purposes set the includeExceptionDetailInFaults attribute to true-->
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="False" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
Przykład 2
Adres podstawowy jest określany przy użyciu add elementu w obszarze service/host/baseAddresses, jak pokazano w poniższym przykładzie.
<service
name="Microsoft.ServiceModel.Samples.CalculatorService">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8000/ServiceModelSamples/service"/>
</baseAddresses>
</host>
</service>
Przykład 3
Pierwsza definicja punktu końcowego pokazana w poniższym przykładzie określa adres względny, co oznacza, że adres punktu końcowego jest kombinacją adresu podstawowego i adresu względnego zgodnie z regułami kompozycji identyfikatora URI ( Uniform Resource Identifier). Adres względny jest pusty (""), więc adres punktu końcowego jest taki sam jak adres podstawowy. Rzeczywisty adres punktu końcowego to http://localhost:8000/servicemodelsamples/service.
<endpoint address=""
binding="wsHttpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
Przykład 4
Druga definicja punktu końcowego określa również adres względny, jak pokazano w poniższej przykładowej konfiguracji. Względny adres "test" jest dołączany do adresu podstawowego. Rzeczywisty adres punktu końcowego to http://localhost:8000/servicemodelsamples/service/test.
<endpoint address="/test"
binding="wsHttpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
Przykład 5
Trzecia definicja punktu końcowego określa adres bezwzględny, jak pokazano w poniższej przykładowej konfiguracji. Adres podstawowy nie odgrywa żadnej roli w adresie. Rzeczywisty adres punktu końcowego to http://localhost:8001/hello/servicemodelsamples.
<endpoint address="http://localhost:8001/hello/servicemodelsamples"
binding="wsHttpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
Przykład 6
Czwarty adres punktu końcowego określa adres bezwzględny i inny transport — TCP. Adres podstawowy nie odgrywa żadnej roli w adresie. Rzeczywisty adres punktu końcowego to net.tcp://localhost:9000/servicemodelsamples/service.
<endpoint address="net.tcp://localhost:9000/servicemodelsamples/service"
binding="netTcpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
Przykład 7
Aby użyć domyślnych punktów końcowych udostępnianych przez środowisko uruchomieniowe, nie należy określać żadnych punktów końcowych usługi w kodzie lub pliku konfiguracji. W tym przykładzie środowisko uruchomieniowe tworzy domyślne punkty końcowe po otwarciu usługi. Aby uzyskać więcej informacji na temat domyślnych punktów końcowych, powiązań i zachowań, zobacz Uproszczone konfigurowanie i uproszczona konfiguracja usług WCF.
<configuration>
<appSettings>
<!-- use appSetting to configure base address provided by host -->
<add key="baseAddress" value="http://localhost:8000/servicemodelsamples/service" />
</appSettings>
<system.serviceModel>
<!--For debugging purposes set the includeExceptionDetailInFaults attribute to true-->
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="False" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>