Cet article vous présente principalement l'utilisation d'Application dans ASP.NET C#. Avant de présenter l'utilisation d'Application, je présente d'abord l'utilisation de Session pour votre référence et votre étude. L'introduction dans l'article est très détaillée. j'en ai besoin Suivons l'éditeur pour apprendre ensemble.
Objet Application
La durée de vie de l'objet Application est aussi longue que la durée de vie de l'application Web, et la durée de vie est déterminée à partir de l'application Web page Web Lorsque l'accès démarre, l'objet de classe HttpApplication Application est automatiquement créé. Lorsqu'aucune page Web n'est consultée, l'objet Application est automatiquement révoqué. Par conséquent, les variables de l'objet Application ont également la même durée de vie et toutes les pages Web de l'application Web peuvent y accéder. Par conséquent, certaines variables publiques globales peuvent être établies dans l'objet Application. Étant donné que les valeurs stockées dans l'objet Application peuvent être lues par toutes les pages Web de l'application, les propriétés de l'objet Application conviennent également au transfert d'informations entre les pages Web. de la demande.
L'objet Application a les objectifs principaux suivants :
l Stocker et enregistrer le nombre de personnes en ligne ou le nombre total de personnes visitant la variable du site Web.
l Stocke les dernières nouvelles partagées par le site Web pour que toutes les pages Web soient mises à jour.
l Enregistrez le nombre ou l'heure des clics sur une même publicité sur chaque page web du site internet.
l Stocke les données de la base de données utilisées par toutes les pages Web.
l Communication entre différents utilisateurs, comme les salons de discussion multi-utilisateurs, les jeux multi-utilisateurs, etc.
À propos d'ASP Application .NET L'utilisation est très différente de la session. Jetons un coup d'œil à l'introduction détaillée :
Utilisation de Session
1 Lorsque Session.Add porte le même nom. , il ne sera pas répété, mais remplacé.
Session.Add("s1", 1); Session.Add("s1", 2); // s1 最终只有一个值,就是 2。
2. Les noms ignorent la casse.
Session.Add("s1", 1); Response.Write(Session["S1"]); // 值为 1
3. La valeur peut être obtenue immédiatement après l'ajout de session (il en va de même pour la suppression de Cookie,). qui doit attendre la prochaine fois. Une seule page existe.
Session.Add("s1", 1); Response.Write(Session["s1"] == null); // False,它不为 null
4. Le type de données de session stocké est un objet, il est préférable d'utiliser Convert pour convertir.
Convert.ToInt32(Session["s1"]);
Si vous convertissez en chaîne, il est préférable d'utiliser Convert.ToString() au lieu de Session["s1"].ToString(), car si Session S'il est nul, une erreur sera signalée si la méthode est utilisée ultérieurement.
5. Utilisez Session dans un cours.
System.Web.HttpContext.Current.Session
Utilisation de l'application
Problème de nom en double
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
Le code est comme ci-dessus et les résultats sont répertoriés dans les remarques. On peut voir que lorsque l'application rencontre la même valeur de clé, elle ne signale pas d'erreur ni n'écrase la précédente, mais existe en même temps. Lorsque vous utilisez le nom de la clé pour obtenir la valeur, vous obtenez la première valeur correspondante portant le même nom. Si vous devez obtenir le dernier, utilisez index.
Si nous voulons rencontrer le même nom, nous pouvons l'écraser. Nous pouvons utiliser le code suivant
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 方法
Dans le code ci-dessus, directement. modifier obj ne fonctionnera pas. Mais si vous rencontrez un objet, le code suivant fonctionnera. Remarque : Il s'agit d'un point de connaissance sur la référence de valeur C# et la référence d'adresse, et n'a rien à voir avec l'application.
((Site)obj).Url = "222"; // 行得通
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!