Domanda

Sto cercando di ottenere la mia testa intorno l'indirizzamento dei servizi WCF.

Abbiamo una configurazione client-server in cui il server di tanto in tanto (forse una volta al giorno) ha bisogno di spingere i dati ad ogni cliente. Voglio avere un peso leggero servizio listener WCF in ogni client ospitati in un servizio NT per ricevere i dati. Abbiamo già una tale configurazione servizio NT che ospita alcuni servizi WCF locali per altre attività in modo che il sovraccarico di questo è minimo.

A causa di codice legacy esistente sul server Credo che il servizio deve essere esposto come ASMX e utilizzare basicHttpBinding per consentire la connessione.

Ogni cliente viene registrato sul server da parte dell'utente (di cui hanno bisogno per configurare individualmente), quindi la scoperta non è il problema.

La mia domanda è: come fa il lavoro di indirizzamento? Immagino che l'utente inserendo l'indirizzo del client sul server nel formato

http://0.0.0.0/MyService

o anche

http://hostname/MyService

Se sì, come si configura il servizio al cliente nella sua App.config? Fare uso localhost?

Se poi non qual è il modo che luccica di esporre il servizio al server?

Nota:

  • Non voglio per ospitare in IIS come che aggiunge ulteriori requisiti per l'hardware necessario per il cliente.
  • I clienti saranno quasi certamente trova sulla LAN, non su Internet pubblico
È stato utile?

Soluzione

È possibile configurare l'indirizzo di base del servizio in questo modo:

<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>

E poi il servizio potrebbe essere accessibile tramite http://servename:9999/foo. Si può dare un'occhiata a questo articolo per ulteriori informazioni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top