Entwickler-Ecke

ASP.NET und Web - Methode von ASP.Net Website ausführen


Vegeto - Di 04.11.14 15:51
Titel: Methode von ASP.Net Website ausführen
Moinsen,

ich habe gerade eine kleine ASP.net Website gebaut (mit VS 2010 C#) dort ist nur eine WebMethod (Webmethode) zu finde, dass heißt wenn ich diese Website kompiliere, kann ich die Methode ausführen.

Nun meine Frage:
Wie kann ich aus einem dritten (was vielleicht nicht im selben netz ist) Programm diese Webmethode starten/ausführen (eventuell auch Parameter mit geben, wäre der nächste Step) ?

Also wenn ich diese Website starte, ist sie ja in meinem Localhost und wie kann eine andere Anwendung die ich jetzt schreibe, die nicht im selben Netz ist diese Website aufrufen?

Ich weiß das ich die Soap 1.1 verwenden muss:

XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
@"<?xml version=""1.0"" encoding=""utf-8""?>
<soap:Envelope xmlns:xsi="
"http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/"">
  <soap:Body>
    <findWork xmlns="
"http://tempuri.org/"">
      <Datum>string</Datum>
    </findWork>
  </soap:Body>
</soap:Envelope>"
;


Doch leider weiß ich nicht mehr :( :(

Kann mir jemand ein brauchbaren tipp geben?

Oder besser vielleicht eine Seite wo das ganze Thema Web in C# gut und verständnisvoll erklärt wird?

Lg


Th69 - Di 04.11.14 18:17

Hallo,

was genau meinst du "mit nicht im selben Netz ist"? Natürlich muß das externe Programm Zugriff auf die WebSite erhalten, d.h. du benötigst einen WebServer.

Und dann kann das externe Programm per WSDL-Schnittstelle darauf zugreifen. Ich habe gestern erst einen anderen Beitrag dazu erstellt: WSDL.Exe: Code benutzen [http://www.c-plusplus.net/forum/p2425561#2425561] (Titel ist etwas verwirrend ;-)).


Vegeto - Mi 05.11.14 09:38

Hallo Th69,

ich schreibe dir mal was ich vor habe :)

ich schreibe im Moment eine Android App, diese soll auf die ASP.net Website eine Methode ausführen und deren Rückgabewert auf der App anzeigen.

Die App teste ich über einen Emulator auf meinem Computer, hier läuft auch zeit gleich die ASP.NET Website im localhost. Leider bekomme ich keine Verbindung der App mit der Website. Ich habe schon so einiges gelesen, dass so was funktionieren soll. Doch leider schaffe ich das einfach nicht.

Ich hoffe nachdem ich das Problem, etwas mehr detaillierter geschildert habe, kann mir weitergeholfen werden.

Liebe Grüße

Edit:
Hier: http://www.codeproject.com/Articles/304302/Calling-Asp-Net-Webservice-ASMX-From-an-Android-Ap
Das ist genau das was ich brauche, doch ich schreibe die App mit Xamarin und dort kann man C# /.Net verwenden und das Soapobject gibt es bei uns (.Net) leider nicht, gibt es eine andere Klasse die genau so arbeitet.


Ralf Jansen - Mi 05.11.14 12:12

Das ist dann wohl eher eine Frage an die Xamarin User wie das da geht. Aber die Doku [http://developer.xamarin.com/guides/cross-platform/application_fundamentals/web_services/] von Xamarin sollte doch auch reichen (Kapitel 'Generating a Proxy using Xamarin Studio').


Vegeto - Mi 05.11.14 12:39

Hi Ralf Jansen,

du hast recht ich sollte mich bei den Xamarin user melden, den Link den du mir geschickt hast, habe ich schon durchgearbeitet und es hakt schon zu Begin, dass ich eine web assemblie hinzufügen kann.

Ich frage mal einfach den Support von Xamarin.

Danke

Lg


Ralf Jansen - Mi 05.11.14 13:35

Zitat:
hakt schon zu Begin, dass ich eine web assemblie hinzufügen kann.


Nicht in meiner Version der Doku :?:

Zitat:
you are not required to add a reference to System.Web.Services before adding the web reference, this will be handled automatically.