2009-07-30 1 views
0

Ich erstelle eine benutzerdefinierte Klasse, um einige der wiederholten SOAP-Header-Arbeit zu abstrahieren. Ich möchte auf eine Webdienst-Referenz verweisen, die ich gerade in meiner benutzerdefinierten Klasse erstellt habe, sodass ich eine Instanz davon erstellen kann. Wie referenziere ich es?Wie ich einen Verweis auf meinen Web-Service-Proxy von einer benutzerdefinierten Klasse hinzufügen

Hinweis Ich habe versucht, auf einen Webdienst "Verweis" zu verweisen (Rechtsklick in VS und ich fügte ein "Web Service Reference" kein "Web Service"). Also versuche ich eine Instanz dieser Proxy-Klasse zu erstellen, die in MyCustomClass.cs erstellt wurde

+0

Haben Sie die Webreferenz mit dem Visual Studio-Tool erstellt oder in Code erstellt? – cptScarlet

+0

klicken Sie einfach mit der rechten Maustaste auf VS (leider ist es jetzt ein Website-Projekt) und wählen Sie "Add Service Reference" – PositiveGuy

+0

Sie wollen nur wissen, wie Sie zu dieser Referenz in Ihrem Code, nachdem Sie es mit dem VS-Tool erstellt haben? – cptScarlet

Antwort

0

Sobald Sie die Referenz erstellt haben, müssen Sie eine Import (VB) oder verwenden (C#) -Anweisung in der Code-Datei Sie möchte es benutzen. Danach müssen Sie lediglich eine Instanz der Web-Service-Klasse instanziieren.

// add the service reference 
using ServiceReference1; 

public partial class _Default : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     //create the instance of the web sevice of the class 
     SomeWebService sweb = new SomeWebService(); 
     //call the web services HelloWorld Method 
     sweb.HelloWorld(); 
    } 
} 

Hoffentlich war es das, was Sie wurden für

+0

Ich habe das probiert, bevor ich das tatsächlich gepostet habe. Ich habe versucht eine using-Anweisung, aber es wusste immer noch nicht davon. – PositiveGuy

+0

hat die using-Anweisung es sogar aufgenommen? – cptScarlet

+0

Die Sache ist, wir sind dabei, dieses Website-Projekt in WAP zu konvertieren. Für jetzt, obwohl es ein Web site Projekt ist, also nicht sicher, warum die Anwendung es nicht aufhebt. Ich füge hinzu mit [Name des Web-Service-Verweises, der unter App_WebReferences angezeigt wird] und immer noch funktioniert es nicht – PositiveGuy

0

fragen Diese Seltsamkeit ist mehr Web-Site. Ich empfehle, dass Websites nur für Seiten, Bilder, CSS, JS usw. verwendet werden. Alles andere sollte in einem separaten Projekt durchgeführt werden, und die Website kann auf das andere Projekt verweisen.

Ich vermeide Websites wie die Pest, also musste ich diese Arbeit nie machen, aber bedenken Sie, dass Websites nicht bauen. Stattdessen werden verschiedene Dinge spontan erstellt, wenn die Site verwendet wird. Es wird keine Reference.cs-Datei auf einer Website geben.

0

In neueren Versionen von Visual Studio musste die using-Anweisung für diese Webdienstverweise auch den Projektnamen enthalten.

Mit cptScarlet ursprünglichen Codebeispiel, ändern Sie die erste Zeile wie folgt aussehen:

// add the service reference 
using MyProject.ServiceReference1; 

Wenn Sie in Ihrem Projektnamen eingeben, die Klasse und/oder Namensraum der Objekte in der Web-Referenz erstellt sollte zeigen in der Intelligenz.

+0

@ kdmurray: Da er ein Website-Projekt verwendet, glaube ich nicht, dass er einen "MyProject" -Namespace hat. –