Jeder, der einen etwas größeren ASP geschrieben hat, weiß, dass die Sitzung wirklich nützlich 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. Zum Beispiel sind das Anmeldekonto, die Zeit, der Status und viele in Echtzeit aufgezeichnete Echtzeitdaten (z. B. das Einkaufssystem zeichnet die Produkte im Einkaufskorb des Benutzers auf It.
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 speichern Browser diese Cookies. Dies ist das Betriebsprinzip der Sitzung. Speicher rekonfigurieren usw. Erste Aktion. Jetzt denken Sie: "Ich muss diese Funktion verwenden, also muss ich ein wenig opfern." Natürlich gibt es Alternativen.
Die Anwendung ist auch gut darin, temporäre Daten zu erfassen und zu verarbeiten. Die Anwendung ist nicht wie eine Sitzung, die die Daten nicht an den Benutzer weiterleitet und auf das nächste Mal auf dem Server auf dem Speicher auf dem Server aufgenommen wird, und die Leistung ist viel schneller als die Sitzung.
Da Anwendungsobjekte öffentlich sind, muss als erstes ein gemeinsamer Bereich für jeden Benutzer geplant werden, damit jeder Benutzer seinen eigenen Bereich hat, um Daten aufzuzeichnen, um den Zweck einer Simulationssitzung zu erreichen. Es gibt zwei Möglichkeiten, es jetzt zu tun:
1. Initialisieren und Zuordnen des Benutzerspeichers im Voraus, wenn der Server aktiviert ist. . Es gibt jedoch eine Einschränkung. Kleine Programme wie Chatrooms.
2. Diese Methode sollte für große Anwendungen angemessener als dynamische Zuordnungsmethode angewendet werden. Der Zweck dieser beiden simulierten Sitzungslösungen besteht darin, den Verbrauch von Sitzungsressourcen zu verringern, aber schließlich ist es immer noch unersetzlich.
■ Erster Plan
Zuerst beginnen wir die Implementierung der ersten Lösung.
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. Zu diesem Zeitpunkt müssen wir uns auf die Sitzung verlassen. . Diese Methode hat einige Verbesserungen, reicht jedoch für kleine Anwendungen aus.
■ Zweiter Plan
In Bezug auf die vorherige Lösung können Sie auch der Meinung sind, dass unsere angepasste Nummer die Sitzung verwendet. Das ist richtig, egal ob wir es verwenden möchten oder nicht, Server hilft jedem Benutzer automatisch, eine Nummer zuzuweisen, und diese Nummer wird nicht wiederholt. 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 nach wie vor nützlich, z. B. Chatrooms, die die Anzahl der Personen und andere kleine Anwendungen einschränken.
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 setzen die Obergrenze von 10.000 Personen, sobald der Server aktiviert ist, Sie können 10.000 Bereiche für 10.000 Benutzer ausschneiden. Es macht nur mehr als 320.000 K (320 MB) aus. Nur wenige denke ich, dass 512 MB ausreicht. 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.
| '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 ersetzen, nutzen Sie sie gut! Vielleicht können die Effizienzprobleme, die immer beunruhigt sind, erheblich verbessert werden!