Empfohlen: Rufen Sie SQL Server -Ansichten und gespeicherte Prozeduren in ASP auf 1. Vorwort ASP (Active Server Pages) ist eine serverseitige Skriptumgebung, die von Microsofts IIS3.0 oder höher unterstützt wird. Es kann verwendet werden, um dynamische Webseiten zu erstellen oder leistungsstarke Webanwendungen zu generieren. Eine ASP -Seite ist eine Datei, die HTML -Tags, Text und Skriptbefehle enthält. ASP -Seiten können ActiveX -Komponenten aufrufen, um Aufgaben wie eine Verbindung zu einer Nummer auszuführen
ASP -Programmiersitzungsfähigkeiten. Das Sitzungsobjekt ist wirklich einfach zu bedienen. Es kann verwendet werden, um benutzerbezogene Datenvariablen aufzuzeichnen, was sowohl sicher als auch bequem ist. Aber wissen Sie wirklich, wie die Sitzung funktioniert? Vielleicht, nachdem Sie es verstanden haben, werden Sie es niemals wagen, dieses Liebes-Hass-Objekt wieder zu verwenden. Obwohl die Methode des Wechsels zu Alternativen etwas problematisch ist, muss ich nach langfristigen Überlegungen dies tun.
Lassen Sie uns zunächst über die Vorteile der Sitzung sprechen, die zum Aufzeichnen von Datenvariablen in Privatbesitz des Kunden verwendet werden können und nicht innerhalb des Zeitbereichs verschwinden. Dies ist wirklich eine wichtige Funktion, insbesondere solche, die von Systemen mit Mitgliedern verwendet werden müssen. Das Anmeldekonto, die Zeit, den Status und die in diesem Datensatz aufgezeichneten Echtzeitdaten, z. B. das Einkaufssystem, zeichnet die Produkte im Einkaufskorb des Benutzers auf. Diese Informationen werden von jedem Benutzer privat benötigt, und Entwickler verwenden normalerweise Sitzungsunterlagen, um sie zu verarbeiten.
Die Sitzung in ASP setzt sich jedoch aus Cookies zusammen, und der Server überträgt alle in der Sitzung aufgezeichneten Informationen in Form von Cookies an den Browser des Benutzers. Normalerweise retten Browser diese Cookies. Immer wenn der Benutzer auf den Link klickt und ihn erneut mit dem Server verbindet, übergibt der Browser diese Cookies zur Verarbeitung an den Server zurück. Dies ist das Betriebsprinzip der Sitzung. Wenn die Datenmenge größer ist, muss sie übertragen und gesammelt werden. Es verbraucht nicht nur die Bandbreite der Linie, sondern reduziert auch seine Leistung, da der Server mehr Ressourcen für Erstaktionen wie Online -Verarbeitung und Neukonfiguration des Speichers ausgeben muss. Jetzt denken Sie vielleicht: "Ich muss diese Funktion verwenden, also muss ich ein wenig opfern." In diesem Artikel geht es jedoch um Sitzung. Einerseits lehrt es Sie, weniger zu verwenden. Andererseits gibt es natürlich Alternativen. Dann ist derjenige, der auf die Bühne kommt, das Anwendungsobjekt, das zu global.asa gehört.
Die Anwendung ist auch gut darin, temporäre Daten aufzuzeichnen und zu verarbeiten. Seine Fähigkeiten und Nutzung in allen Aspekten sind die gleichen wie die Sitzung, aber im Vergleich sind die von ihm aufgezeichneten Daten öffentlich, dh ein variabler Bereich, den jeder Benutzer teilen kann. Die Anwendung ist nicht wie eine Sitzung, die die Daten nicht an den Benutzer weiterleitet und auf das nächste Mal wartet, um sie wieder online zu lesen. Es wird direkt auf dem Speicher auf dem Server aufgezeichnet und die Leistung ist viel schneller als die Sitzung.
Da Anwendungsobjekte öffentlich sind, muss als Erstes einen gemeinsamen Bereich für jeden Benutzer planen, damit jeder Benutzer seinen eigenen Bereich hat, um Daten aufzuzeichnen, um den Zweck einer simulierten Sitzung zu erreichen. Es gibt zwei Möglichkeiten, es jetzt zu tun:
1. Initialisieren und Zuordnen des Benutzerspeichers im Voraus, wenn der Server aktiviert ist. Obwohl dieser Ansatz eine Menge Ressourcen einnimmt, sobald der Server eingeschaltet ist, sparen Sie sich auch die Mühe, jedes Mal, wenn der Benutzer online ist, zuweisen zu müssen. Es gibt jedoch eine Einschränkung. Mit dieser Methode muss die maximale Anzahl von Personen einschränken. Da es sobald es aktiviert ist, können wir nur die Einrichtung einer bestimmten Menge an Speicherplatz schätzen, sodass diese Methode normalerweise in kleinen Programmen wie Chatrooms verwendet wird.
2. Diese Methode sollte für große Anwendungen als geeigneter angesehen werden. Es wird eine dynamische Zuordnungsmethode angewendet. Erst wenn der Benutzer zum ersten Mal online zum Server kommt, wird die Ressource diesem Benutzer zugewiesen. Der Zweck dieser beiden simulierten Sitzungslösungen besteht darin, den Verbrauch von Sitzungsressourcen zu verringern, aber schließlich ist er immer noch unersetzlich. Wir müssen noch eine kleine Sitzung verwenden, die den Server zumindest eine Menge Belastung verringern kann.
Der erste Plan
Zuerst beginnen wir mit der Implementierung der ersten Lösung. Da die Anwendung bei aktiviertem Wert initialisiert wird, müssen wir natürlich von Global.asa beginnen:
Die Initialisierung wurde abgeschlossen, aber wie kann man sie verwenden? Wir müssen nur die in der Sitzung gespeicherten Informationen wie das Konto und die Anmeldzeit in das von uns erstellte Anwendungsobjekt ändern, in dem sich der Benutzer anmeldet:
'Auf der Suche nach ungenutzter Raum
Für i = 1 bis application (clientmax)
Wenn Anwendung (user_status_ & i) = 0 dann
'Benutzer -Temporäre Nummer
Sitzung (Index) = i
'Sperren
Anwendungsanwendung.Lock
'Auf den gebrauchten Zustand eingestellt
Application (user_status_ & i) = 1 'in variable Daten einfügen
Application (user_account_ & i) = Konto
Application (user_logtime_ & i) = jetzt ()
'Unlocked
Application.unlock
Beenden für
Ende wenn
Nächste
Um die relevanten variablen Daten des Benutzers zu erhalten, ist dies wie folgt:
Response.write (application (user_account_ & session (index))
Sie können feststellen, dass Sie nicht die Sitzung verwenden möchten? Warum gibt es dann im obigen Originalcode eine Sitzung? Wie bereits erwähnt, kann diese Alternative die Sitzung nicht vollständig ersetzen. Der Browser ist nicht immer online mit dem Server. Es wird nach dem Lesen der Seite getrennt. Woher wissen wir also, ob die gleiche Person beim nächsten Mal online ist? Zu diesem Zeitpunkt müssen wir uns auf die Sitzung verlassen. Wir geben dem Benutzer eine Reihe von Echtzeitnummern. Diese Nummer ist die Anzahl des Benutzers im variablen Bereich der Anwendung. Sie können sich vorstellen, dass es viele Safes auf der Bank gibt. Sie haben einen Schlüssel und der Schlüssel hat eine Nummer. Die Nummer auf dem Schlüssel ermöglicht es vom Bediener, Sie zu Ihrem eigenen Safe zu führen. Diese Methode hat einige Verbesserungen, reicht jedoch für kleine Anwendungen aus.
Der zweite Plan
In Bezug auf die vorherige Lösung können Sie auch der Meinung sind, dass unsere angepasste Nummer die Sitzung verwendet, um aufzuzeichnen. Das Sitzungsobjekt bietet eine "SessionID" -Methode. Das ist richtig, unabhängig davon, ob wir es verwenden möchten oder nicht. Der Server hilft jedem Benutzer automatisch, eine Nummer zuzuweisen, und diese Nummer wird nicht wiederholt. Diese Nummer wird mit Sitzung erhalten. Diese Nummerierung ist eine Aktion, die die Sitzung definitiv ausführen wird, damit wir sie verwenden können, um das Nummerierungsprogramm zu ersetzen, das wir selbst schreiben, was einen weiteren Aufwand spart und sogar eine größere Expansion hat. Grundsätzlich ist die erste Lösung oben immer noch nützlich, z. B. Chatrooms, die die Anzahl der Personen und andere kleine Anwendungen einschränken. Die nächste zweite Alternative ist für größere Systeme.
Wenn eine Website mit Hunderten, Tausenden oder sogar Zehntausenden von Menschen auf einer Website pro Sekunde nicht funktioniert, funktioniert sie definitiv nicht, wenn sie die vorherige Lösung verwendet. Angenommen, Sie haben die Obergrenze von 10.000 Personen festgelegt. Sobald der Server aktiviert ist, können Sie 10.000 Bereiche ausschneiden, um sich auf 10.000 Benutzer vorzubereiten. Wenn es 5 Variablen in einer Region gibt, berücksichtigt eine Variable 32 Bytes (Byte) und 10.000 mehr als 320.000 K (320 MB), und sobald der Server aktiviert ist, wird er so viel Müll in das Gedächtnis füllen, und seine Leistung wird zwangsläufig viel reduziert, bevor er auf das Schlachtfeld geht. Und obwohl diese Zahlen nur sehr wenige sind, denke ich, dass 512 MB ausreichen wird, wird angenommen, dass die obige Zahl eine Mindestzahl ist, und es ist nicht bekannt, wie viele Ressourcen der Server beim Konfigurieren von Speicher verwendet, sodass er nur mehr und nicht niedriger ist. Daher besteht die Lösung darin, den Bereich der Benutzer variabler dynamisch zu konfigurieren und einen Bereich zu schneiden, wenn ein Benutzer online mit dem Server ist. Daher müssen Sie nicht im Voraus einen riesigen Speicher konfigurieren.
Die zweite Lösung ist relativ einfach zu tun. Bitte werfen Sie alle Dinge in der ersten Lösung weg. Wir müssen nicht zu global.asa wechseln, wir müssen nur die Benutzeranmeldung und andere nützliche Orte ändern:
'Sperren applicationApplication.lock' variable Daten setzen
Application (user_account_ & session.sessionId) = Konto
Application (user_logtime_ & session
Um die relevanten variablen Daten des Benutzers zu erhalten, ist dies wie folgt:
Response.write (application (user_account_ & session.sessionId)))
In der Vergangenheit habe ich viele Bücher gelesen, dass diese Sitzung sehr schwer zu essen war.
Wenn Sie nun verstehen, wie Sie die Sitzung der Sitzung und ASP -Programmiersitzung ersetzen, verwenden Sie es gut! Vielleicht können die Effizienzprobleme, die immer beunruhigt sind, erheblich verbessert werden!
Anteil: Eine einfache Einführung in die ASP -Unterroutine In ASP können Sie Unterprogramme über VBScript und andere Wege aufrufen. Beispiel: Rufen Sie die Subroutine unter Verwendung von VBScript HTML Head %Sub VBPROC (Num1, Num2) Antwort auf.