Configurare il net.tcp binding in un servizio wcf

Wcf si basa sui modello ABC (Address, Binding, Contract) questo modello è estremamente flessibile e ci permette ad esempio di cambiare il binding, cioè il modo in cui i servizi  comunicano, senza modificare come sono fatti.

Esistono diversi tipi di bindig, il NetTcpBinding utilizza il protocollo di trasporto Tcp, i pacchetti sono compressi in binario a differenza del basicHttp o del wsHttp che sono in soap. Vediamo quindi come configurare un servizio che sfrutti il NetTcpBinding e come ospitarlo in IIS 7.5.

Per prima cosa vediamo come configurare il servizio wcf

<system.serviceModel>
  <services>
    <service name="MyService" behaviorConfiguration="MyServiceBehavior">
      <endpoint address="" binding="netTcpBinding" bindingConfiguration="MyTcpConfiguration" contract="IMyService"/>
      <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
    </service>
  </services>
  
  <bindings>
    <netTcpBinding>
      <binding name="MyTcpConfiguration">
        <security mode="None"/>
      </binding>
    </netTcpBinding>
  </bindings>
  
  <behaviors>
    <serviceBehaviors>
      <behavior name="MyServiceBehavior">
        <serviceMetadata httpGetEnabled="true" />
        <serviceDebug includeExceptionDetailInFaults="false" />
      </behavior>
    </serviceBehaviors>
  </behaviors>
</system.serviceModel>

IIS 7 permette di ospitare servizi che utilizzino il protocollo Tcp tramite Windows Process Activation Services.

Per prima cosa verifichiamo che sia installato nelle Feature il Non-HTTP Activation
image

Sul sito che conterrà il nostro servizio aggiungiamo un nuovo binding, come tipologia net.tcp e come binding information la porta ad esempio 809:*
image

All’interno della Application negli Advanced Settings aggiungiamo il novo protocollo supportato.
image

Per consumare il web service adiamo a specificare l’indirizzo del endpoint così

<endpoint address="net.tcp://server:809/MyService.svc"
    binding="netTcpBinding" 
    bindingConfiguration="MyBindingConfiguration"
    contract="IDocumentService" 
    name="MyService" />
Tag di Technorati: ,,

posted @ Thursday, April 7, 2011 5:28 PM

Print
Comments have been closed on this topic.
«August»
SunMonTueWedThuFriSat
28293031123
45678910
11121314151617
18192021222324
25262728293031
1234567