RSS FeedFeed TwitterTwitter XINGXING
  
Meine Bücher

Verteilte Systeme und Services mit .NET 4.0: Konzepte und Lösungen mit WCF 4.0,
Hanser Fachbuchverlag

Weitere Infos

 

.NET 4 Update,
Microsoft Press

Weitere Infos

 
Weitere Bücher
Meine Artikel

Leichtgewichtige Kommunikation: REST-basierte Services mit dem neuen API aus der ASP.NET-Familie,
windows.developer

Weitere Infos

 

EAI und EDI in der Cloud ,
windows.developer

Weitere Infos

 

Verteilt und doch ein Ganzes: Verteilte Systeme mit AppFabric Applications,
dot.net magazin

Weitere Infos

 

Vorschau auf Neuerungen der kommenden WCF-Version,
dot.net magazin

Weitere Infos

 

Windows Azure Tutorial, Teil 3: Verbindung zwischen Cloud- und lokalen Applikationen,
iX - Magazin für professionelle Informationstechnik

Weitere Infos

 

MVC, die dritte: ASP.NET MVC 3 RC 2,
dot.net magazin

Weitere Infos

 

Leichtgewichtiges O/R-Mapping - Code Only mit Entitiy Framework CTP 5,
dot.net magazin

Weitere Infos

 

Weitere Artikel

Training & Beratung

Gemeinsam mit meinen Kollegen aus dem IT-Visions Netzwerk unterstützte ich durch zielgerichtete Inhouse-Schulungen und Beratung Unternehmen bei der Planung und Umsetzung von großer Software-Systeme.

Mehr lesen

In Kontakt treten

 
Konferenzen

BASTA! on Tour von 4/25/2012 bis 4/27/2012 in Düsseldorf

Meine Talks

Web-Site der Konferenz

 

BASTA! Spring 2012 von 2/27/2012 bis 3/2/2012 in Darmstadt

Meine Talks

Web-Site der Konferenz

 

ADC - Advanced Developers Conference von 10/26/2011 bis 10/27/2011 in Frankental (Deutschland)

Meine Talks

Web-Site der Konferenz

 

Scandev on tour von 10/18/2011 bis 10/18/2011 in Stockholm (Schweden)

Meine Talks

Web-Site der Konferenz

 

BASTA 2011 von 9/26/2011 bis 9/30/2011 in Mainz

Meine Talks

Web-Site der Konferenz

 

Jazoon - International Conference on the modern art of software von 6/21/2011 bis 6/23/2011 in Zürich

Meine Talks

Web-Site der Konferenz

 

Scandinavian Developer Conference 2011 von 4/4/2011 bis 4/5/2011 in Göteborg (Schweden)

Meine Talks

Web-Site der Konferenz

 

SOA-Days von 3/30/2011 bis 3/31/2011 in Bonn

Meine Talks

Web-Site der Konferenz

 
Weitere Konferenzen
von Manfred, 28. May 2011 14:15
Bei der Entwicklung von Produkten erscheint es wünschenswert, die Anzahl der benötigten TCP-Ports niedrig zu halten, zumal diese auf eventuellen inner- oder zwischenbetrieblichen Firewalls freigeschaltet werden müssen. Aus diesem Grund bietet WCF die Möglichkeit, verschiedene Services über denselben TCP-Port zur Verfügung zu stellen. Voraussetzung dafür ist, dass sich die einzelnen Service-URLs unterscheiden, dass Port-Sharing für das netTcpBinding aktiviert wird und dass der Windows-Service Net.Tcp Port Sharing Service gestartet ist.
Das nachfolgende Listing zeigt eine Konfiguration, die den Einsatz von Port-Sharing vorsieht. Dazu wurde in der Standard-Binding-Konfiguration für netTcpBinding die Eigenschaft portSharingEnabled auf true gesetzt und als Basisadresse net.tcp://localhost:9000/FlugBuchungsService definiert. Ein anderer Service-Host könnte nun ebenfalls Port 9000 verwenden, sofern er sich auf eine andere Service-Url abstützt (zum Beispiel net.tcp://localhost:9000/HotelService und ebenfalls Port-Sharing aktiviert.

Bei Betrachtung dieser Konfiguration fällt auf, dass für die Konfiguration von Metadata-Exchange ebenfalls das netTcpBinding und nicht das dafür vorgesehene mexTcpBinding herangezogen wurde. Das ist notwendig, um Probleme im Zusammenhang mit letzterem Binding beim Einsatz von Port-Sharing zu vermeiden.
<system.serviceModel>

    <bindings>
      <netTcpBinding>
        <binding portSharingEnabled="true">
          <security mode="None" />
        </binding>
      </netTcpBinding>
    </bindings>

    <services>
    
      <service name="FlugService.FlugBuchungsService">

        <endpoint
          address=""
          binding="netTcpBinding"
          contract="FlugService.IFlugBuchungsService" />

        <endpoint
          address="mex"
          binding="netTcpBinding"
          contract="IMetadataExchange" />

        <host>
          <baseAddresses>
            <add baseAddress="net.tcp://localhost:9000/FlugBuchungsService" />
          </baseAddresses>
        </host>

      </service>
    </services>

    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceMetadata httpGetEnabled="false"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>


  </system.serviceModel>

Kategorien: .Net 4 | WCF