Wenn ich schreibe:ASP.NET - Geben Session-Objekt ein Wert, der durch seinen Index hebt Fehler
Session["conString"]= theConString;
Es funktioniert perfekt. aber wenn ich versuche zu schreiben:
Session[0] = the ConString;
ich „Index war außerhalb des Bereichs muss nicht negativ sein und kleiner als die Größe der Sammlung.“ -Fehler. Ich verstehe, dass dies ein typischer Fehler bei Arrays ist. Es bedeutet, dass ich versuche, den Wert eines Objekts festzulegen, das nicht existiert. Aber wie kann ich das tun, indem ich den Namen für das Sitzungsobjekt festlege? Es gibt Möglichkeiten, dies zu tun: 1 Geben Sie einen String-Namen oder einen numerischen Index ein. Ich brauche diese Option, weil ich auf anderen Seiten die String-Namen nicht merken möchte, sondern globale Konstanten deklarieren und mit diesen konstanten Namen darauf zugreifen möchte.
Hmm, also gibt es einen besonderen Kredit für die Verwendung des benannten Schlüssels. Also macht es sowas wie Session.Add ("conString", theConString) richtig? Dann stellt die Angabe des benannten Schlüssels eine Verknüpfung zu dieser Methode dar. –
Ich erinnere mich jetzt, dass ich auch String-Konstanten deklarieren kann. –
Im Wesentlichen ja. IMHO, der Positionsindexer bei Session ist irgendwie albern und hat einen Code-Geruch dazu, aber ich nehme an, dass es einen Grund geben könnte, die Items per Index aufzulisten und sie vielleicht zu ersetzen. Wie auch immer, in der Praxis müssen Sie nur Sitzungselemente mit einem Schlüssel abrufen/setzen. – HackedByChinese