Heim  >  Artikel  >  Backend-Entwicklung  >  Tutorial zur Verwendung von Anwendungen in ASP.NET C#

Tutorial zur Verwendung von Anwendungen in ASP.NET C#

巴扎黑
巴扎黑Original
2017-05-14 17:07:562430Durchsuche

Dieser Artikel stellt Ihnen hauptsächlich die Verwendung von Application in ASP.NET C# vor. Die Einführung im Artikel ist sehr detailliert Ich brauche es. Folgen wir dem Herausgeber, um gemeinsam zu lernen.

Anwendungsobjekt

Die Lebensdauer des Anwendungsobjekts ist so lang wie die Lebensdauer der Webanwendung, und die Lebensdauer wird anhand der Webanwendung bestimmt Webseite Wenn der Zugriff beginnt, wird das HttpApplication-Klassenobjekt Application automatisch erstellt. Wenn keine Webseite aufgerufen wird, wird das Application-Objekt automatisch widerrufen. Daher haben auch die Variablen im Anwendungsobjekt die gleiche Lebensdauer und alle Webseiten in der Webanwendung können auf die Variablen zugreifen. Daher können im Anwendungsobjekt einige globale öffentliche Variablen eingerichtet werden. Da die im Anwendungsobjekt gespeicherten Werte von allen Webseiten der Anwendung gelesen werden können, eignen sich die Eigenschaften des Anwendungsobjekts auch zum Übertragen von Informationen zwischen Webseiten der Bewerbung.

Anwendungsobjekt hat die folgenden Hauptverwendungen:

  • l Speichern und Aufzeichnen der Anzahl der Personen online oder die Gesamtzahl der Personen, die die Website-Variable besuchen.

  • l Speichert die neuesten Nachrichten, die von der Website geteilt werden, damit alle Webseiten aktualisiert werden können.

  • l Erfassen Sie die Anzahl oder Zeit der Klicks auf dieselbe Anzeige auf jeder Webseite der Website.

  • l Speichert Datenbankdaten, die von allen Webseiten verwendet werden.

  • l Kommunikation zwischen verschiedenen Benutzern, z. B. Mehrbenutzer-Chatrooms, Mehrbenutzer-Spiele usw.

Über ASP Die Verwendung von .NET-Anwendungen unterscheidet sich stark von der Sitzung. Werfen wir einen Blick auf die ausführliche Einführung:

Nutzung der Sitzung

1 Wenn der Session.Add-Name derselbe ist , wird es nicht wiederholt, sondern überschrieben.


Session.Add("s1", 1);
Session.Add("s1", 2);
// s1 最终只有一个值,就是 2。

2. Bei Namen wird die Groß- und Kleinschreibung ignoriert.


Session.Add("s1", 1);
Response.Write(Session["S1"]); // 值为 1

3. Der Wert kann unmittelbar nach dem Hinzufügen von Sitzungen abgerufen werden (dasselbe gilt für Entfernen). Dies unterscheidet sich von Cookie. was bis zum nächsten Mal warten muss. Es existiert nur eine Seite.


Session.Add("s1", 1);
Response.Write(Session["s1"] == null); // False,它不为 null

4. Der gespeicherte Sitzungsdatentyp ist Objekt. Zum Konvertieren verwenden Sie am besten „Konvertieren“.


Convert.ToInt32(Session["s1"]);

Wenn Sie in einen String konvertieren, verwenden Sie am besten Convert.ToString() anstelle von Session["s1"].ToString(), denn wenn Session Wenn es null ist, wird ein Fehler gemeldet, wenn die Methode später verwendet wird.

5. Verwenden Sie die Sitzung in einer Klasse.


System.Web.HttpContext.Current.Session

Nutzung der Anwendung

Problem mit doppelten Namen


HttpContext.Current.Application.Add("key1", "value1");
HttpContext.Current.Application.Add("key2", "value2");
HttpContext.Current.Application.Add("KEY2", "value3"); // name 忽略大小写

int count = HttpContext.Current.Application.Count; // 3 个
string[] keys = return HttpContext.Current.Application.AllKeys; // key1、key2、key2
string s = (string)HttpContext.Current.Application.Get("key2"); // value2
string s2 = (string)HttpContext.Current.Application.Get(2); // value3

Der Code ist wie oben und die Ergebnisse sind in den Anmerkungen aufgeführt. Es ist ersichtlich, dass die Anwendung, wenn sie auf denselben Schlüsselwert stößt, weder einen Fehler meldet noch den vorherigen überschreibt, sondern gleichzeitig existiert. Wenn Sie den Schlüsselnamen verwenden, um den Wert abzurufen, erhalten Sie den ersten entsprechenden Wert mit demselben Namen. Wenn Sie den letzten abrufen müssen, verwenden Sie den Index.

Wenn wir auf denselben Namen stoßen möchten, können wir ihn überschreiben.


HttpContext.Current.Application.Add("key1", "value1");
// HttpContext.Current.Application.Add("key2", "value2");

string name = "key2";
object obj = HttpContext.Current.Application.Get(name);
if (obj == null)
{
 // 不存在,直接添加
 HttpContext.Current.Application.Add(name, "value2");
}
else
{
 // 存在,不能直接调用 Add 方法,这样会造成两个相同 name 的条目
 // obj = "value3"; // 这种方法行不通
 HttpContext.Current.Application[name] = "value3";
}

return (string)HttpContext.Current.Application[name]; // 用 [] 取值时,等同于 Get 方法

Im obigen Code direkt Das Ändern von obj funktioniert nicht. Wenn Sie jedoch auf ein Objekt stoßen, funktioniert der folgende Code. Hinweis: Dies ist ein Wissenspunkt zur C#-Wertreferenz und Adressreferenz und hat nichts mit der Anwendung zu tun.


((Site)obj).Url = "222"; // 行得通

Das obige ist der detaillierte Inhalt vonTutorial zur Verwendung von Anwendungen in ASP.NET C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn