Ho appena colpito un enorme muro di mattoni con Paypal. Avevo creato un normale progetto C # per creare alcune classi wrapper utilizzando il loro WSDL.
Se crei un progetto non Web, l'unica opzione che ottieni per aggiungere un wsdl è un riferimento al servizio Web. E questo costruisce un po 'lo stesso insieme di classi proxy come farebbe un riferimento Web, ma non proprio .. aggiunge di più che nemmeno i ragazzi di PayPal sono a conoscenza.
Quindi ho cercato per tutto il tempo l'interfaccia giusta in questo elenco di classi proxy da utilizzare come servizio (SoapBinding) e PayPalAPIAASoapBinding
non c'era ho continuato a dire al nostro punto di contatto PayPal.
Ho potuto vedere solo le seguenti 2 interfacce che mi sembravano quelle che dovevo usare poiché non ho visto una PayPalAPIAASoapBinding
che puoi vedere in un riferimento al servizio basato su Web Reference:
PayPalAPIAAInterfaceClient
PayPalAPIInterfaceClient
Quindi ho capito, oh, probabilmente avevo creato un riferimento al servizio rispetto a un riferimento web il cui riferimento web è un'opzione in un progetto web. Ma non voglio che il mio riferimento al servizio sia strettamente collegato al mio progetto web. Ecco perché ho creato il progetto C #.
Quindi cosa diavolo è un riferimento al servizio rispetto a un riferimento web? E come dovrei separarlo in un altro progetto se Service Reference mi lancia un ciclo e mi fornisce una serie di interfacce diverse rispetto a un riferimento Web?
Inoltre, per rendere le cose ancora PIÙ confuse, VS 2008 ha un progetto di applicazione del servizio Web.
Allora cosa uso? Stiamo usando il framework .NET 3.5 e siamo non pronti a passare a WCF . Quindi posso ancora utilizzare il nuovo riferimento al servizio anche se non utilizzo WCF o cosa? SE stai ancora utilizzando .NET 3.5 e non WCF e desideri ancora eseguire servizi Web di base, segui ancora la route di riferimento del servizio e non usi il framework WCF? Significa che può ancora essere usato come un riferimento Web .NET 2.0, solo che otterrai una generazione completamente diversa di WSDL?