Tutoriel sur l'utilisation de l'application dans ASP.NET C#

巴扎黑
Libérer: 2017-05-14 17:07:56
original
2410 Les gens l'ont consulté

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。
Copier après la connexion

2. Les noms ignorent la casse.


Session.Add("s1", 1);
Response.Write(Session["S1"]); // 值为 1
Copier après la connexion

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
Copier après la connexion

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"]);
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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 方法
Copier après la connexion

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"; // 行得通
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!