Ich habe gerade mit Paypal eine riesige Mauer getroffen. Ich hatte ein reguläres C # -Projekt erstellt, um einige Wrapper-Klassen mit ihrer WSDL zu erstellen.
Wenn Sie ein Nicht-Webprojekt erstellen, ist die einzige Option, die Sie zum Hinzufügen einer WSDL erhalten, eine Webdienstreferenz. Und dies schafft ein bisschen den gleichen Satz von Proxy-Klassen wie eine Web-Referenz, aber nicht wirklich. Es fügt mehr hinzu, als selbst die PayPal-Leute nicht wissen.
Daher war ich die ganze Zeit auf der Suche nach der richtigen Schnittstelle in dieser Liste von Proxy-Klassen, die als Service verwendet werden kann (SoapBinding), und die PayPalAPIAASoapBinding
war nicht da. Ich teilte unserem PayPal-Kontaktpunkt immer wieder mit.
Ich konnte nur die folgenden 2 Schnittstellen sehen, die mir erschienen, was ich verwenden musste, da ich keine sah, PayPalAPIAASoapBinding
die Sie in einer Webreferenz-basierten Dienstreferenz sehen können:
PayPalAPIAAInterfaceClient
PayPalAPIInterfaceClient
Also habe ich herausgefunden, oh, ich habe wahrscheinlich eine Dienstreferenz im Vergleich zu einer Webreferenz erstellt, welche Webreferenz eine Option in einem Webprojekt ist. Ich möchte jedoch nicht, dass meine Servicereferenz eng mit meinem Webprojekt verknüpft ist. Deshalb habe ich das C # -Projekt erstellt.
Was zum Teufel ist eine Service-Referenz im Vergleich zu einer Web-Referenz? Und wie soll ich das in ein anderes Projekt aufteilen, wenn Service Reference mir eine Schleife wirft und mir eine Reihe anderer Schnittstellen gibt als eine Web Reference?
Um die Dinge noch verwirrender zu machen, verfügt VS 2008 über ein Webdienst-Anwendungsprojekt.
Also, was benutze ich? Wir verwenden das .NET 3.5-Framework und sind nicht bereit, auf WCF umzusteigen . Kann ich die neue Dienstreferenz auch dann noch verwenden, wenn ich WCF nicht verwende, oder was? Wenn Sie .NET 3.5 und noch nicht WCF verwenden und dennoch grundlegende Webdienste ausführen möchten, gehen Sie weiterhin die Route "Dienstreferenz" und verwenden Sie einfach nicht das WCF-Framework? Bedeutet das, dass es immer noch wie eine .NET 2.0-Webreferenz verwendet werden kann, nur dass Sie eine völlig andere Generation der WSDL erhalten?