Question

Je suis en train d'obtenir ma tête autour de l'adressage des services WCF.

Nous avons une configuration client-serveur où le serveur de temps en temps (peut-être une fois par jour) a besoin de pousser les données à chaque client. Je veux avoir un service d'écoute WCF léger sur chaque client hébergé dans un service NT pour recevoir ces données. Nous avons déjà une telle configuration de service NT hébergement des services WCF locaux pour d'autres tâches pour les frais généraux de c'est minime.

En raison du code existant existant sur le serveur, je crois que le service doit être exposé comme ASMX et utiliser basicHttpBinding pour lui permettre de se connecter.

Chaque client est enregistré sur le serveur par l'utilisateur (dont ils ont besoin de les configurer individuellement) si la découverte est pas la question.

Ma question est, comment le travail d'adressage? J'imagine que l'utilisateur d'entrer l'adresse du client sur le serveur sous la forme

http://0.0.0.0/MyService

ou même

http://hostname/MyService

Si oui, comment puis-je configurer le service client dans son App.config? Dois-je utiliser localhost?

Sinon, quel est le moyen reccommended d'exposer le service au serveur?

Remarque:

  • Je ne veux pas héberger dans IIS qui ajoute que les exigences supplémentaires pour le matériel requis pour le client.
  • Les clients seront certainement situé sur les réseaux locaux, et non pas sur l'Internet public
Était-ce utile?

La solution

Vous configurez l'adresse de base du service comme ceci:

<system.serviceModel>
  <services>
    <service name="Ns.FooService">
      <host>
        <baseAddresses>
          <add baseAddress="http://localhost:9999" />
        </baseAddresses>
      </host>
      <endpoint
          address="/foo"
          binding="basicHttpBinding"
          contract="Ns.IFooContract" />
     </service>
  </services>
</system.serviceModel>

Et votre service pourrait être accessible par http://servename:9999/foo. Vous pouvez jeter un oeil à cet article pour plus d'informations.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top