2011-08-24 11 views
5

Sono abbastanza nuovo per l'hosting di applicazioni Web e servizi Web. Anche se ho avuto successo nell'hosting di un'applicazione web, sto correndo in un blocco stradale dopo un blocco stradale quando provo ad ospitare un servizio WCF con l'associazione net.tcp.Servizio host WCF con associazione net.tcp tramite IIS Manager 7.5

Il mio scenario è il seguente: dispongo di un'applicazione Web ospitata che deve comunicare con un servizio WCF ospitato con il binding net.tcp tramite IIS 7.5. Come affermato, l'applicazione web è ospitata bene e posso navigare nel sito web. Tuttavia, l'applicazione Web effettua chiamate di servizi al servizio WCF e ricevo il messaggio "Codice errore TCP 10061" che, a mio avviso, è dovuto al fatto che il servizio WCF ospitato non è in esecuzione. Penso che questo non è in esecuzione perché tento di 'telnet localhost 808' per vedere se il servizio WCF è in esecuzione e non lo è. Ho eseguito numerose guide online e ancora non ho avuto fortuna. Credo che potrei fare qualcosa di fondamentalmente sbagliato con me, essendo un noob e tutto il resto. Sono in grado di ospitare il servizio tramite VS2010 ed eseguire l'applicazione Web e funziona perfettamente, quindi credo che i miei binding siano corretti. Ho anche abilitato i protocolli TCP su entrambi i siti Web in Gestione IIS.

Quindi penso che la mia vera domanda è quali sono i passaggi di Gestione IIS necessari per ospitare un servizio WCF con l'associazione net.tcp? Mi sembra che non sia possibile ospitare un servizio net.tcp tramite IIS Manager semplicemente creando un sito Web perché IIS Manager vuole collegarsi a una porta http.

+0

Lo hai mai capito? Ho creato la mia versione della tua domanda, ma sembra che potrei avere lo stesso problema di te. http://stackoverflow.com/questions/16628382/setting-up-wcf-tcp-service-in-a-web-application –

risposta

4

Qui ci sono alcune cose da controllare:

  • Assicurarsi che il servizio di Windows Net.Tcp adattatore listener è in esecuzione
  • Assicurarsi netTcp è elencato come un protocollo abilitato per il tuo sito (In Gestione IIS, andare ad Avanzato impostazioni per il tuo sito)
  • Assicurarsi che netTcp sia elencato come protocollo abilitato per l'applicazione (directory) che ospita i servizi (in Gestione IIS, vai alla directory che ospita i tuoi servizi e seleziona Impostazioni avanzate)
  • Verifica il tuo sito IIS ha un bindi ng per net.tcp, con il numero di porta corretto elencato.

EDIT:
vedere la seguente pagina MSDN per l'attivazione/utilizzando le associazioni non HTTP in .Net 4 + IIS 7/7.5:

Configuring the Windows Process Activation Service for Use with Windows Communication Foundation

+2

Inoltre, attivare le funzionalità di Windows (installazione dei componenti di Windows) in Microsoft.NET Framework 3.5. 1 - Attivazione non HTTP di Windows Communication Foundation –

+0

Grazie per la risposta rapida. – David

+0

Grazie per la rapida risposta. Il servizio Net.TcpListenerAdapter è in esecuzione. netTCP è anche un protocollo abilitato sia per l'app web che per il servizio web. 808: * è un protocollo netTCP. Anche l'attivazione WCF non-Http è installata. Ho anche aggiunto il mio servizio WCF al sito web predefinito e dove la porta netTCP 808 è vincolata. Un'altra domanda, come si collega il servizio WCF alla porta 808? Sarebbe attraverso il mio file web.config? Inoltre, come inizia il servizio WCF? Lo stato di Gestione IIS mostra solo "Sconosciuto" per l'associazione netTCP in Sito Web predefinito. Grazie ancora. – David

1

e ho scoperto che per me didn lavorare per localhost ... Dovresti usare 127.0.0.1 o il nome del tuo computer.