2010-02-25 2 views
7

È possibile aggiungere un riferimento al servizio in Visual Studio, che genera la classe del proxy locale per chiamare il servizio WCF quando si utilizza netTcpBinding?Posso aggiungere un riferimento al servizio con netTcpBinding in WCF?

Come ho capito, il metodo di riferimento del servizio richiede che WSDL sia esposto dal servizio, che è supportato solo da http binding binding no?

Forse, potrei aggiungere il riferimento del servizio localmente in fase di sviluppo, ma poi cambiare la configurazione per utilizzare nettcp in fase di esecuzione in produzione?

Il motivo per cui lo chiedo è perché sto ospitando un servizio Windows (server 2003, quindi non è stato WAS e non posso usare IIS). E non siamo in grado di modificare le autorizzazioni per fare la prenotazione dello spazio dei nomi HTTP ... quindi non possiamo usare le associazioni HTTP. NetTcp funziona, ma in questo caso specifico il grafico dell'oggetto che stiamo passando avanti e indietro coinvolge oggetti generati nel servizio da un modello EDMX ... quindi non possiamo condividerlo in un assembly del contratto.

Grazie in anticipo!

risposta

3

Basta aggiungere una rilegatura utilizzando mexTcpBinding.

0

Tutti gli attacchi sono esposti anche se WSDL. Se aggiungi i binding NETTCP, svcutil genererà correttamente il client. Non l'ho usato nel riferimento ADD in VS come ho sempre preferito generare la classe con svcutil.

1

E 'possibile aggiungere un riferimento al servizio in Visual Studio, che genera la classe proxy locale per chiamare il servizio WCF quando si utilizza il netTcpBinding?

Sì, sicuramente!

Come ho capito, il metodo di riferimento servizio richiede un WSDL di essere esposti dal servizio, che è supportato solo dai binding http no?

No, sicuramente non - metadati WCF (sia proprio formato specifico, o esposti come file WSDL/XSD) è sicuramente disponibile per tutte le chiamate basati su SOAP - indipendentemente dal loro trasporto.

Potete mostrarci cosa avete, in termini di configurazione lato server? Molto probabilmente, ti manca solo un po 'di configurazione o qualcosa del genere - se vediamo quello che hai, potremmo essere in grado di individuarlo e aiutarti di più!