Während des Vorfalls habe ich ein webbasiertes Finanzsystem im Internet gesehen. Es wird über ActiveX implementiert. Wenn Sie Webservice zum Kombinieren von DHTML verwenden, können Sie ActiveX beiseite stellen. Hier ist ein einfaches Beispiel.
Zunächst einmal erklärt der Webservice, der sehr einfach ist, nicht im Detail, sondern schauen Sie sich nur die Kommentare an.
Dateistudie.asmx.cs
mit System verwenden;
mit System.Collections;
mit System.comPonentModel;
mit System.data;
mit System.Diagnostics;
mit System.Web;
mit System.Web.Services;
unter Verwendung von System.xml.Serialization;
Namespace Studyxml
{
/// <summary>
/// <br> Ein Beispiel für einen Webservice </br>
/// <br> Autor: [E -Mail geschützt] </br>
/// <br> Datum: 2001/12/21 </br>
/// <br> Historie: Abgeschlossen am 2001 // 12/21 </br>
/// </summary>
/// <bemerkungen>
/// Die von dieser Website implementierte Funktion ist sehr einfach
/// Es gibt zwei Hauptfunktionen, eines besteht darin, ein vordefiniertes Elementarray zu erhalten.
/// Ein anderer ist das Speichern von Datensatzetyp -Datensätzen
/// </Anmerkungen>
öffentliche Klassenstudie: System.Web.Services.webservice
{
private arrayList m_arrites;
private arraylist m_arrreocrds;
Öffentliche Studie ()
{
// CodeGen: Dieser Anruf ist vom ASP.NET Web Services Designer erforderlich
InitializeComponent ();
this.m_arrreocrds = new ArrayList ();
this.m_arrites = new ArrayList ();
// einige experimentelle Daten hinzufügen
für (int i = 0; i <100; i ++)
{
this.m_arrites.add (neuer Artikel (ItemName + i.toString ()
, itemValue + (i + 1) .ToString ()));
}
}
/// <summary>
///
/// </summary>
/// <param name = a_stritemname> Elementname </param>
/// <zurückgegeben> Element -Objekt </zurückgegeben>
privater Artikel getItem (String a_stritemname)
{
// throw (neue Ausnahme (Server.UrdeCode (a_stritemname))));
für (int i = 0; i <this.m_arrites.count; i ++)
{
item item = (item) this.m_arrites [i];
if (item.name == server.urldecode (a_stritemname) .trim ())
{
Gegenstand zurückgeben;
}
}
null zurückkehren;
}
#Region -Komponenten -Designer generierter Code
// vom Web Services Designer verlangt
private iContainer components = null;
/// <summary>
/// Erforderliche Methode für Designerunterstützung - nicht ändern
/// Der Inhalt dieser Methode mit dem Code -Editor.
/// </summary>
private void initializecomponent ()
{
}
/// <summary>
/// Ressourcen reinigen, die verwendet werden.
/// </summary>
geschützte Override -Leere (bool entsorgt)
{
if (disposion && components! = null)
{
components.dispose ();
}
Basis.ponse (entsorgen);
}
#endregion
[WebMethod]
public void additem (String a_strname, String a_strvalue)
{
this.m_arrites.add (neuer Element (a_strname, a_strvalue));
}
/// <summary>
/// Elementliste abrufen
/// </summary>
/// <Ctrails> ArrayList </returns>
[WebMethod]
[xmlinclude (typeof (item))]]]]
öffentliche Arraylist getItems ()
{
Gibt dies zurück.m_arrites;
}
/// <summary>
/// den Datensatz speichern
/// </summary>
/// <param name = a_stritemname> </param>
/// <param name = a_strDemoname> </param>
/// <param name = a_intdemoamount> </param>
/// <returns> Wenn es erfolgreich ist, geben Sie ansonsten false zurück </return>
[WebMethod]
Public bool SravereCord (String a_stritemname
, String a_strDemoname, int a_intdemoamount)
{
versuchen
{
item item = this.getItem (a_stritemname);
if (item! = null)
{
this.m_arrreocrds.add (neuer Datensatz (this.m_arrreocrds.count + 1
, Artikel
, neue Demo (a_strDemoname, a_intdemoamount))));
}
anders
{
throw (neue Ausnahme (Name Fehler zum Angeben von Elementen!));
}
zurückkehren;
}
fangen (Ausnahme E)
{
throw (neue Ausnahme (e.tostring ())));
// false zurückgeben;
}
} // Endmethode
} // Ende der Klasse
/// <summary>
/// eine einfache Klasse, die Optionen wie SELECT entspricht
/// </summary>
öffentlicher Klassenartikel
{
private Zeichenfolge m_strname;
private Zeichenfolge m_strvalue;
öffentlicher String -Name
{
erhalten
{
Gibt dies zurück.m_strname;
}
Satz
{
this.m_strname = value;
}
}
öffentlicher Stringwert
{
erhalten
{
Gibt dies zurück.m_strvalue;
}
Satz
{
this.m_strvalue = value;
}
}
öffentliches Element (String a_strname, String a_strvalue)
{
this.m_strname = a_strname;
this.m_strvalue = a_strvalue;
}
öffentlicher Artikel ()
{
this.m_strname =;
this.m_strvalue =;
}
} // Ende der Klasse
/// <summary>
/// einfache Beispielklassen
/// Die Struktur ist sehr einfach, drei Mitgliedsvariablen
/// eine Anzahl von Typ int,
/// Ein Elementtyp, ein Demo -Typ
/// </summary>
Öffentliche Klassenaufzeichnung
{
private int m_intid;
privater Artikel m_objmyItem;
private Demo m_objmydemo;
öffentliche Aufzeichnung ()
{
this.m_intid = 0;
this.m_objmydemo = new Demo ();
this.m_objmyItem = new item ();
}
Öffentliche Aufzeichnung (int a_intid, item a_objitem, Demo a_objdemo)
{
this.m_intid = a_intid;
this.m_objmydemo = a_objdemo;
this.m_objmyItem = a_objitem;
}
} // Cals beenden
/// <summary>
/// eine einfache Beispielklasse
/// Die Struktur ist sehr einfach, mit nur zwei Mitgliedsvariablen, einem Namen und einer Menge
/// </summary>
Demo der öffentlichen Klasse
{
private Zeichenfolge m_strname;
private int m_intamount;
öffentlicher String -Name
{
erhalten
{
Gibt dies zurück.m_strname;
}
Satz
{
this.m_strname = value;
}
}
öffentliche intmenge
{
erhalten
{
Gibt dies zurück. M_Intamount;
}
Satz
{
this.m_intamount = value;
}
}
/// <summary>
/// Konstruktor
/// </summary>
öffentliche Demo ()
{
this.m_intamount = 0;
this.m_strname =;
}
/// <summary>
/// Überlastungskonstruktor
/// </summary>
/// <param name = a_strname> </param>
/// <param name = a_intamount> </param>
öffentliche Demo (String a_strname, int a_intamount)
{
this.m_intamount = a_intamount;
this.m_strname = a_strname;
}
} // Ende der Klasse
} // Endnamespace