ASP.NET C# でアプリケーションを使用する方法のチュートリアル

巴扎黑
リリース: 2017-05-14 17:07:56
オリジナル
2418 人が閲覧しました

この記事では、ASP.NET C# での Application の使用法を主に紹介します。Application の使用法を紹介する前に、参考と学習のためにまず Session の使用法を紹介します。フォローすることができます エディターと一緒に学びましょう。

Application オブジェクト

Application オブジェクトの有効期間は、Web アプリケーションの Web ページにアクセスされたときから始まり、HttpApplication クラスのオブジェクト Application が自動的に作成されるまでです。 Web ページにはアクセスしません。最後に、Application オブジェクトは自動的に取り消されます。したがって、Application オブジェクト内の変数の有効期間も同じであり、Web アプリケーション内のすべての Web ページから変数にアクセスできます。したがって、Application オブジェクトにいくつかのグローバル パブリック変数を設定できます。Application オブジェクトに格納されている値はアプリケーションのすべての Web ページで読み取ることができるため、Application オブジェクトのプロパティは Web ページ間で情報を転送するのにも適しています。アプリケーションの。

Application オブジェクトには主に次の用途があります:

  • l オンラインの人数または Web サイトを訪問する人の総数を記録する変数を格納します。

  • l は、すべての Web ページが更新するために Web サイトで共有される最新ニュースを保存します。

  • l ウェブサイトの各ウェブページで同じ広告がクリックされた回数または時間を記録します。

  • l すべての Web ページで使用されるデータベース データを保存します。

  • l マルチユーザー チャット ルーム、マルチユーザー ゲームなど、異なるアプリケーション間の通信

ASP.NET アプリケーションの使用方法に関しては、セッションとは大きく異なります。詳しい紹介を見てみましょう:

Sessionの使い方

1. Session.Addが同じ名前の場合、重複せず上書きされます。


Session.Add("s1", 1);
Session.Add("s1", 2);
// s1 最终只有一个值,就是 2。
ログイン後にコピー

2. 名前は大文字と小文字を区別しません。


Session.Add("s1", 1);
Response.Write(Session["S1"]); // 值为 1
ログイン後にコピー

3. セッションの追加直後に値を取得できます(削除の場合も同様です)。これは次のページまで利用できない Cookie とは異なります。


Session.Add("s1", 1);
Response.Write(Session["s1"] == null); // False,它不为 null
ログイン後にコピー

4. 保存されたセッションのデータ型はオブジェクトです。変換するには Convert を使用するのが最善です。


Convert.ToInt32(Session["s1"]);
ログイン後にコピー

文字列に変換する場合は、Session["s1"].ToString() の代わりに Convert.ToString() を使用するのが最善です。これは、Session が null の場合、メソッドの使用後にエラーが報告されるためです。 。

5. クラスでセッションを使用します。


System.Web.HttpContext.Current.Session
ログイン後にコピー

アプリケーションの使用法

重複名問題


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
ログイン後にコピー

上記のコードに示すように、結果は備考に記載されています。アプリケーションが同じキー値に遭遇した場合、エラーを報告したり前の値を上書きしたりせず、同時に存在していることがわかります。キー名を使用して値を取得すると、同じ名前を持つ最初の対応する値が取得されます。最後のものを取得する必要がある場合は、インデックスを使用します。

同じ名前を上書きしたい場合は、次のコードを使用できます


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 方法
ログイン後にコピー

上記のコードでは、obj を直接変更することは機能しませんが、オブジェクトに遭遇した場合、次のコードは機能します。注: これは C# の値参照とアドレス参照に関する知識ポイントであり、アプリケーションとは関係ありません。


りー

以上がASP.NET C# でアプリケーションを使用する方法のチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!