Freigeben über


Gewusst wie: Konfigurieren eines Windows Communication Foundation-Dienstes zum Durchführen der Anschlussfreigabe

Der einfachste Weg, um die net.tcp://-Anschlussfreigabe in Ihrer Windows Communication Foundation (WCF)-Anwendung zu verwenden, besteht darin, einen Dienst mit der NetTcpBinding verfügbar zu machen.

Diese Bindung verfügt über eine PortSharingEnabled-Eigenschaft, die festlegt, ob die net.tcp://-Anschlussfreigabe für den mit dieser Bindung zu konfigurierenden Dienst aktiviert ist.

Der folgende Vorgang zeigt, wie Sie die NetTcpBinding-Klasse zum Öffnen eines Endpunkts am Uniform Resource Identifier (URI) net.tcp://localhost/MyService verwenden können, zuerst im Code und dann mithilfe von Konfigurationselementen.

So aktivieren Sie die net.tcp://-Anschlussfreigabe für eine NetTcpBinding im Code

  1. Erstellen Sie einen Dienst, um einen Vertrag mit dem Namen IMyService zu implementieren und ihn in MyService umzubenennen.

  2. Erstellen Sie eine Instanz der NetTcpBinding-Klasse, und setzen Sie die PortSharingEnabled-Eigenschaft auf true fest.

  3. Erstellen Sie einen ServiceHost, und fügen Sie ihm den Dienstendpunkt für MyService hinzu, der die NetTcpBinding, für die die Anschlussfreigabe aktiviert wurde, verwendet und der am Endpunkt-Adress-URI "net.tcp://localhost/MyService" eine Überwachung durchführt.

    Tipp

    In diesem Beispiel wird der Standard-TCP-Anschluss 808 verwendet, da der Endpunkt-Adress-URI keine andere Anschlussnummer angibt. Da die Anschlussfreigabe explizit für die Transportbindung aktiviert wurde, kann dieser Dienst den Anschluss 808 für andere Dienste in anderen Vorgängen freigeben. Wenn die Anschlussfreigabe nicht zulässig wäre und eine andere Anwendung bereits den Anschluss 808 verwenden würde, würde dieser Dienst beim Öffnen eine AddressAlreadyInUseException ausgeben.

So aktivieren Sie die net.tcp://-Anschlussfreigabe für eine NetTcpBinding in der Konfiguration

  1. Das folgende Beispiel zeigt, wie Sie die Anschlussfreigabe aktivieren und den Dienstendpunkt mithilfe von Konfigurationselementen hinzufügen können.
<system.serviceModel>
  <bindings>
    <netTcpBinding name="portSharingBinding" 
                   portSharingEnabled="true" />
  <services>
    <service name="MyService">
        <endpoint address="net.tcp://localhost/MyService"
                  binding="netTcpBinding"
                  contract="IMyService"
                  bindingConfiguration="portSharingBinding" />
    </service>
  </services>
</system.serviceModel>

Siehe auch

Aufgaben

Gewusst wie: Aktivieren des Net.TCP-Portfreigabediensts

Konzepte

Net.TCP-Anschlussfreigabe