2010-04-16 4 views
1

J'utilise CSLA.NET. Cela fonctionne vraiment bien avec le wsHttpBinding. Maintenant, j'ai mon propre Windows-Service et recherche la solution, que je peux utiliser ce Windows-Service en tant que serveur CSLA et en utilisant nettcpbinding. Quelqu'un peut-il me donner un conseil sur la façon de continuer? Peut-être que quelqu'un a un échantillon de comment je peux le faire.CSLA avec WCF nettcpbinding

Merci!

Cordialement, Thomas

Répondre

1

Fondamentalement, vous devez faire deux choses:

  • changement votre configuration côté serveur pour inclure un point final avec le netTcpBinding (cela peut être, en plus de l'existant point final wSHttpBinding - pas de problème)

  • ajouter le netTcpBinding à votre fichier de configuration du client ainsi et en sélectionnant ce point de terminaison lorsque vous vous connectez

Vous devriez avoir quelque chose comme ça dans votre configuration côté serveur:

<services> 
    <service name="YourService"> 
     <endpoint name="something" 
       address="" 
       binding="wsHttpBinding" 
       contract="IYourService" /> 
    </service> 
</services> 

Il suffit d'ajouter un point final pour la netTcpBinding:

<services> 
    <service name="YourService"> 
     <endpoint name="something" 
       address="" 
       binding="wsHttpBinding" 
       contract="IYourService" /> 
     <endpoint name="something" 
       address="net.tcp://YourServer:7171/YourService" 
       binding="netTcpBinding" 
       contract="IYourService" /> 
    </service> 
</services> 

Maintenant, si vous hébergez dans IIS, vous pourriez rencontrer des problèmes - vous devez configurer IIS7 (serveur Win2008 ou Win2008R2), et dans IIS6, vous ne serez pas en mesure d'héberger votre service netTcp en IIS6 :-(

Même chose sur t il côté client - ajouter un deuxième point de terminaison pour NetTcp:

<client> 
    <endpoint name="something" 
       address="http://YourServer/SomeVirtDir/YourServiceFile.svc" 
       binding="wsHttpBinding" 
       contract="IYourService" /> 
    <endpoint name="netTcpEndpoint" 
       address="net.tcp://YourServer:7171/YourService" 
       binding="netTcpBinding" 
       contract="IYourService" /> 
</client> 

et maintenant lorsque vous créez votre point final dans le code, utilisez le noeud final nommé:

YourServiceClient client = new YourServiceClient("netTcpEndpoint"); 

Cela devrait être tout, vraiment (à moins que l'AAPC exige Quelque chose de plus que je ne connaîtrais pas ... Je connais la "WCF pure-vanille")

Questions connexes