Das Verwandeln von ASP -Code in Komponenten kann nicht nur den ASP beschleunigen, sondern auch Ihren eigenen Code besser schützen. Lassen Sie uns ein Tutorial zum Schreiben von ASP in DLLs schreiben. Folgen wir dem Herausgeber von ERROR NEU.
Serverseitige Komponenten
Zunächst sollten sich die Komponenten auf der Serverseite von der Client -Seite unterscheiden. Die Komponenten auf der Clientseite werden über das Netzwerk übertragen und stützen sich auf die Arbeit auf HTML. Sie können nur in IE nützlich sein. Die Komponenten auf der Serverseite laufen jedoch auf dem Server und führen verschiedene Vorgänge auf dem Server aus. Daher können alle Browser es genießen und es stützt sich eher auf den Server als auf den Browser.
Wenn IIS aufgefordert wird, ein ASP -Programm auszuführen, wird der Code zunächst zwischen den < % %> -Tags in der ASP -Datei gefunden und ihn (oder den Code zwischen <script runat = server> </script>) ausgeführt. Wenn dieses ASP -Programm bereits aufgerufen wurde, wird das kompilierte Programm im Speicher verwendet, um HTML -Code an den Benutzer zurückzugeben. Wenn nicht, wird es neu kompilieren. Hier hat ASP etwas mehr Geschwindigkeitsvorteil als CGI, da CGI für jede Anforderung einen Thread verwendet. Dies verbraucht die Ressourcen des Servers erheblich.
Möchten Sie, dass das Programm, das Sie geschrieben haben, alleine in IIS laufen!?! Jetzt kannst du es schaffen! Mit VB5 (natürlich ist es jetzt VB6) können Sie dynamische verknüpfte Bibliotheken (DLL -Datei) erstellen, die direkt auf IIS ausgeführt werden können (falls eine ASP -Datei anfordert).
System- und Softwareanforderungen
Sie benötigen ein 32-Bit-Betriebssystem, um ASP auszuführen. Natürlich müssen Sie auch IIS oder PWS installieren. Unser folgendes Programm wurde in der Umgebung von Windows95+PWS+VB5 entwickelt.
Fangen wir an
Starten Sie Ihr VB und wählen Sie das ActiveX -Symbol aus. Dieses Symbol finden Sie im neuen Projekt! VB wird einen Standard -Projektnamen (Projekt1) und Klassenname (Klasse1) angeben. Wir werden beide Namen ändern. Bevor Sie den Namen ändern, bestätigen Sie bitte zunächst, dass wir die Microsoft Active Server Pages -Objektbibliothek haben, die in unseren Programmen sehr nützlich ist. Wählen Sie im Menü "Projekt" und wählen Sie darin "Referenz", und das Fenster "Referenz" wird angezeigt.
Wählen Sie die Objektbibliothek von Microsoft Active Server Pages.
Nennen Sie Projekte und Klassen
Nennen wir jetzt Project1 und Class1 nach unseren Hobbys! Es ist auch sehr wichtig, sie zu benennen. Wir werden diesen Projektnamen und den Klassennamen verwenden, um in Zukunft eine Instanz dieser Komponente zu erstellen! Dies wird später ausführlich eingeführt.
Ich möchte nicht mehr darüber sagen, wie ich den Namen ändern kann!
Unser Projektname wird in Beispiel geändert und der Klassenname ist Helloword
So verwenden Sie Engineering und Klassen
Jetzt haben wir unser eigenes Projekt (Beispiel1) und Klassenname (HelloWorld). In Zukunft werden wir ihre Namen verwenden, um diese Komponente im ASP -Code zu verweisen. In ASP werden wir es wie folgt verweisen: wie folgt:
Setzen Sie objreference = server.createObject ("projectName.className").
Das Zitat für unser Projekt lautet:
Setzen Sie objreference = server.createObject ("example1.Helloworld")
Jetzt können wir Objreferenz verwenden, um die Funktion und die Unterroutine aufzurufen, die wir in der Komponente erstellt haben. Als nächstes schreiben wir eine Sayhello -Unterroutine und unseren Code, um ihn auszuführen, ist wie folgt:
(%
Setzen Sie objreference = server.createObject ("example1.Helloworld")
Objreference.sayhello
%>
Um ASP -Methoden in der Helloword -Klasse zu verwenden, müssen Sie in dieser Klasse einen OnStartPage schreiben
Unterfunktion. Wie folgt:
Öffentliches Unter -OnStartPage (CENTENSCIPTINGCONTEXT AS SCRIPTINGCONTEXT)
Setzen Sie MyScriptingContext = CENTENSCIPTINGCONTEXT
Ende sub
Unabhängig davon, wenn der Benutzer mit dieser Komponente auf eine ASP -Datei zugreift, sendet IIS den Skriptcontext an unser Objekt. Dieser ScriptingContext enthält alle ASP -Methoden und Eigenschaften. In Bezug auf die Implementierung können wir auf alle ASP -Objekte zugreifen. Siehe den folgenden Code:
Öffentliches Unter -OnStartPage (CENTENSCIPTINGCONTEXT AS SCRIPTINGCONTEXT)
Setzen Sie MyScriptingContext = CENTENSCIPTINGCONTEXT
Setzen Sie MyApplication = myScriptingContext.Application
Setzen Sie MyRequest = myScriptingContext.request
Setzen Sie myResponse = myScriptingContext.response
Setzen Sie myServer = myScriptingContext.server
Setzen Sie mySession = myScriptingContext.Session
Ende sub
In Zukunft können wir MyApplication in VB anstelle von Anwendung in ASP verwenden, und auf die gleiche Weise können sie die Anfrage ersetzen, Server ..., aber wir möchten diese Variablen vor dem Startpage deklarieren:
Private MyScriptingContext als ScriptingContext
Private MyApplication als Anwendung
Private MyRequest als Anfrage
Private MyResponse als Antwort
Privat MyServer als Server
Private MySession als Sitzung
Objekte mit ASP
Unsere Variablen können jetzt wie Standard -ASP -Objekte verwendet werden! Zum Beispiel verwenden wir häufig Request.Form () in ASP, um Daten zum Senden von Formularen zu sammeln. Jetzt implementieren wir diese Funktion in unserem VB, der Code ist wie folgt:
In ASP implementiert:
(%
MyTempVariable = Request.form ("Benutzername")
Antwort.Write ("Sie haben eingegeben" und mytempVariable & "als Benutzername"))
%>
In VB implementiert:
MytempVariable = myRequest.form ("Benutzername")
MyResponse.write ("Sie haben eingegeben" & myTempVariable & "als Benutzername")
Durch die Verwendung von MyResponse anstelle einer Antwort können wir alle Antwortmethoden verwenden. Natürlich kann der Name MyResponse beiläufig verwendet werden, und Sie können sogar die Antwort wählen.
Eine andere Sache, die wir beachten müssen, ist, dass wir die OnendPage -Unterfunktion in der von uns erstellten Klasse schreiben müssen, und diese OnStartPage ist das Gegenteil! OnStartPage besteht darin, ein Objekt zu erstellen und das Objekt zu zerstören.
Öffentliches Sub -ONENDPAGE ()
Setzen Sie MyScriptingContext = nichts
Myapplication einstellen = nichts
MyRequest = nichts setzen
MyResponse = nichts setzen
Myserver setzen = nichts
MySession setze = nichts
Ende sub
Sayhello -Methode
Lassen Sie uns eine Unterfunktion erstellen, um "Holle World" anzuzeigen. Diese Sayhello -Methode ist nur eine Unterfunktion in der Helloworld -Klasse. Wir werden die folgende Methode verwenden, um sie in Zukunft in ASP anzuzeigen
(%
Setzen Sie objreference = server.createObject ("example1.Helloworld")
Objreference.sayhello
%>
Sayhellos Programm ist sehr einfach!
Öffentliches Subs Sayhello ()
MyResponse.write ("Hallo Welt")
Ende sub
Nachdem eine kleine Komponente geschrieben ist, soll der Rest diese Komponente kompilieren, sie im Menü "Projekt" speichern und Sie können einen beliebigen Namen auswählen. Verwenden wir Beispiel1.VBP! Wählen Sie im Menü "Beispiel 1.Dll" und kompilieren Sie es in eine DLL -Datei. Eine Komponente ist wirklich fertig!
Beachten Sie, dass Sie, wenn Sie diese Komponente kompilieren, zuerst Ihre PWS deaktivieren und diese Komponente dann kompilieren müssen. Andernfalls wird VB Ihnen mitgeteilt, dass einige Komponenten verwendet werden.
Verwenden Sie unsere eigenen Komponenten in ASP.
Wenn Sie den Fehler in der Kompilierung korrigieren und das Beispiel1 -Projekt erfolgreich kompilieren, müssen Sie Ihren bevorzugten HTML -Editor herausnehmen und die folgende Anweisung aufschreiben und als ASP -Datei speichern.
〈Html>
〈Head>
〈Titel> Beispiel 1 〈/Titel>
〈/Head>
〈Body>
(%
Setzen Sie objreference = server.createObject ("example1.Helloworld")
Objreference.sayhello
%>
〈/Body>
〈/Html>
Nach dem Laufen können Sie die Ergebnisse sehen:
Hallo Welt
Komponenten registrieren
Wenn Sie Ihre Komponenten mit Ihren Freunden und Nachbarn teilen möchten, müssen Sie Ihre Komponenten in Ihrem System registrieren. Wir verwenden im Allgemeinen RegSVR32.exe, um Komponenten zu registrieren. Nach der Registrierung werden Ihre Komponenten im Windows/System -Verzeichnis von Win95/Win98 angezeigt. Hier ist ein Beispiel für die Registrierung:
Regsvr32.exe c:/example1/example1.dll
In Ihrem System wird sich VB automatisch für Sie registrieren, sodass Sie selten RegSVR32.exe verwenden
Wir haben gerade eine sehr kleine Komponente hier geschrieben. Sie können Ihre eigenen größeren Komponenten schreiben und viele Steuerelemente in VB verwenden.
Der Schlüssel zum Schreiben von DLLs nach ASP ist die Entwicklung von DLL -Komponenten. Die Entwicklung von DLL -Komponenten ist kein komplizierter Code und erfordert das Lernen durch Ihre eigenen Bemühungen.