About SW-Quality Safety SW-Entwicklung UML Nachschlagen Programme
.NET
JAVA
HTML http
XML
SQLXML
Datenbanken
CVS
SQL
Methodenreihenfolge WebDienste Windows Netzwerk Tools


 

ASP.NET WebDienste Web Method
  • ASP.NET ermöglicht die schnelle und einfache Implementierung von WebMethoden. Dies sind Methoden (eigentlich Funktionen), welche über eine URL aufgerufen werden können und Daten, oft in Form eines XML Textdokuments zurückliefern. 
  • Ein normaler WebServer liefert HTML Daten zurück und erwartet URLs als Beschreibung, welche Datei verwendet  werden soll. Damit ist der WebServer im Prinzip eine WebMethode. 
  • (Methode ist dahingehend nicht ganz korrekt, da die WebMethode in den meisten fällen zustandslos ist, die Methode kann den Client nicht über ein Cookie erkennen, da der Aufruf  meist nicht interaktiv über einen Browser, sondern durch ein anderes Programm erfolgt. Und eine zustandslose Methode ist eine Funktion.)

  • Einer WebMethod Implementierung geht immer eine Deklaration voraus, welche diese Methode über den Webserver verfügbar macht. Damit ermöglicht ASP.NET das automatische Deployment des Webdienstes. 

    Beispiel für eine einfache WebMethod:

    [WebMethod (EnableSession=true,Description="<br><pre>Text</pre>")   ]
       public string GetString(  ) {
          return "test string";
       }
     
     

    Mögliche Angaben für das Deployment sind:

    • Description 

    • Ein html Text, welcher in der WSDL oder HTML Übersichtsdatei angezeigt wird. Dies ist sehr nützlich um dadurch eine Selbstbeschreibung des Funktionsaufrufs zu generieren. 
    • MessageName 
      Die Methode erhält im Web einen anderen Namen als im Sourcecode. Wenn dies nicht angegeben wird, so wird der Name im SourcCode verwendet.
    • EnableSession 

    • Damit wird das Session Objekt erzeugt. Dies Funktioniert jedoch nur, wenn der Aufrufer Cookies unterstützt, also nur bei Browsern, nicht bei Anwendungen die den Webservice benutzen. (Sessions stehen also normalerweise nicht zur Verfügung !)
    • CacheDuration=seconds

    • Die Rückgabe der Webmethode bleibt im Cache. Weitere Anfragen innerhalb dieser Zeit erhalten die Daten aus dem Cache, die Methode wird dann also gar nicht aufgerufen sondern der WebServer schickt die Daten aus dem Cache.. 
      + wenn Daten sich nicht ändern ist dies sehr sinnvoll
      - große Datenmengen benötigen Speicherplatz auf dem Server
    • TransactionOption 
      Damit sollten Transaktionen über WebMethod möglich sein. (Wurde von mir noch nicht getestet).
    • BufferResponse 
      Normalerweise werden die Daten über einen Buffer zum Client geschickt, was die Ausführung deutlich beschleunigt. Werden sehr große Datenmengen generiert, so sollte der Buffer ausgeschalten werden.
     

     
     
    ©; created Mon Aug 07 22:31:53 CEST 2006; eMail