113 votes

Service de référence par rapport à une référence Web

Je viens de toucher un immense mur de briques avec Paypal. J'avais créé un régulier de projet C# pour créer des classes d'emballage à l'aide de leur WSDL.

Si vous créez un projet web, la seule option que vous ajoutez un fichier wsdl d'un Service Web de Référence. Et cela génère un peu le même ensemble de classes de proxy Web de Référence, mais pas vraiment..elle ajoute que même les PayPal, les gars ne sont pas conscients de.

Donc, j'étais tout le temps à la recherche pour le droit de l'Interface dans cette liste de classes de proxy à utiliser en tant que service (SoapBinding) et l' PayPalAPIAASoapBinding n'était pas là, je ne cessais de dire à notre PayPal point de contact.

Je ne pouvais voir que les 2 Interfaces qui m'est apparu que j'avais besoin de l'utiliser car je n'ai pas vu un PayPalAPIAASoapBinding que vous POUVEZ voir dans un site Web de Référence référence de service:

PayPalAPIAAInterfaceClient
PayPalAPIInterfaceClient 

Alors je me suis dit oh, je me suis probablement créé un Service de Référence par rapport à un Web de Référence sur le Web de Référence est une option dans un projet Web. Mais je ne veux pas que mon service de référence étroitement couplée pour mon projet web. C'est pourquoi j'ai créé le Projet C#.

Donc, ce que le diable est un Service de Référence contre Référence Web? Et comment suis-je censé faire la séparation dans un autre projet si le Service de Référence va me jeter une boucle et me donner un ensemble d'interfaces différentes que d'une Référence Web?

Aussi, pour rendre les choses encore PLUS confuses, VS 2008 a un projet d'Application Web.

Que dois-je utiliser? Nous sommes à l'aide de l' .NET framework 3.5 et nous sommes pas prêt à passer à la WCF. Donc, puis-je encore utiliser le nouveau Service de Référence, même si vous n'utilisez pas WCF ou quoi? SI vous êtes en utilisant .NET 3.5 et pas WCF encore et que vous voulez toujours faire de base des services web, avez-vous toujours aller dans le Service de Référence de la route et tout simplement pas utiliser le WCF cadre? Le sens peut-il être utilisé comme un .NET 2.0 Web de Référence encore, c'est juste que vous allez obtenir une tout autre génération de WSDL?

218voto

marc_s Points 321990

Ajouter une Référence Web est le style ancien, obsolète ASP.NET webservices (ASMX) technologie (en utilisant seulement le XmlSerializer pour votre stuff) - si vous faites cela, vous obtenez un ASMX client pour un service web ASMX. Vous pouvez le faire dans n'importe quel projet (Application Web, Site Web, Application de Console, Winforms - vous le nom).

Ajouter une Référence de Service est la nouvelle manière de faire, l'ajout d'un service WCF de référence, qui vous donne beaucoup plus avancées, beaucoup plus souple modèle de service que juste un bon vieux ASMX choses.

Puisque vous n'êtes pas prêt à passer à la WCF, vous pouvez également ajouter à l'ancienne, de style web de référence, si vous devez vraiment: lorsque vous faites un "Ajouter une Référence de Service", dans la boîte de dialogue qui s'ouvre, cliquez sur le bouton [Avancé] dans le bouton gauche de la fenêtre:

alt text

et sur la prochaine boîte de dialogue qui s'ouvre, choisissez [Ajouter une Référence Web] bouton en bas de page:

alt text

9voto

Moose Points 3792

Si je comprends bien votre droit de question :

Pour ajouter un .net 2.0 une référence de Service Web à la place d’une référence de Service WCF, faites un clic droit sur votre projet et cliquez sur « Ajouter une référence de Service. »

Puis cliquez sur « Avancé... » en bas à gauche de la boîte de dialogue.

Puis cliquez sur « Add Web Reference.. » en bas à gauche de la boîte de dialogue suivante.

Maintenant, vous pouvez ajouter une référence de web de savon ordinaire comme vous cherchez.

4voto

Otávio Décio Points 44200

Ajout de qu'une référence de service vous permet de créer un client WCF, qui peut être utilisé pour parler à un service web régulier fourni que vous utilisez la liaison appropriée. Ajout d’une référence web vous permettra de créer uniquement une référence de service (c.-à-d., savon) web.

Si vous êtes absolument certain que vous n’êtes pas prêt pour WCF (vraiment ne sais pas pourquoi), puis vous devez créer une référence de service web ordinaire.

4voto

user3628475 Points 1

En fin de compte, à la fois faire la même chose. Il y a quelques différences dans le code: Services Web n'est pas ajouter un espace de noms Racine du projet, mais le Service de Référence ajoute les classes de service à l'espace de noms du projet. L' ServiceSoapClient classe devient une dénomination différente, qui n'est pas important. En travaillant avec TFS je préfère utiliser le Service de Référence, car il fonctionne mieux avec contrôle de source. Les deux travaillent avec les protocoles SOAP.

Je trouve ça mieux d'utiliser le Service de Référence parce qu'il est nouveau et sera donc mieux entretenues.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X