グローバルasaxファイルとは何ですか?私は、アプリケーションのページ全体で使用されるオブジェクトのユーザー固有の辞書を宣言することを検討しています。この辞書はどこで宣言しますか?グローバルasaxファイル
ありがとうございました。
グローバルasaxファイルとは何ですか?私は、アプリケーションのページ全体で使用されるオブジェクトのユーザー固有の辞書を宣言することを検討しています。この辞書はどこで宣言しますか?グローバルasaxファイル
ありがとうございました。
でそれを初期化することができます。アプリケーションの起動、セッションの開始などのさまざまなイベントがあります。ここにMSDNのドキュメントへのリンクがあります:http://msdn.microsoft.com/en-us/library/fwzzh56s.aspx。
シナリオでは、セッションの情報を永続化するためにsession startイベントを使用します。
Global.asaxには、アプリケーション全体を表すクラスが含まれています。辞書がユーザー固有のもの(つまり、すべてのユーザーに共通ではない)の場合は、ユーザー固有の場所にその辞書を保存する必要があります。ユーザー固有の何かを維持する必要があるときにまず気になるのは、セッションストレージを使用することです。 (MSDNを参照してください。)
追加したコメントあたり:
public static class SessionObjects
{
public static Dictionary<DateTime, List<int>> MySessionStoredLists
{
get
{
var session = HttpContext.Current.Session;
if (session == null) throw new InvalidOperationException();
var fromSession = (Dictionary<DateTime, List<int>>)session["MySessionStoredLists"];
if (fromSession == null)
{
fromSession = new Dictionary<DateTime, List<int>>();
MySessionStoredLists = fromSession;
}
return fromSession;
}
private set
{
session["MySessionStoredLists"] = value;
}
}
}
これはあくまでも一例ですが、あなたのアイデアは、私には少し不審そうです - あなたは毎日、ユーザーごとに何かを残しておきたいん基礎?完全な機能を備えた永続的なストレージは、データベースの方が優れていますか?
私はAppObjectsというファイルを作成しました。ユーザーオブジェクトとレポートオブジェクトを格納する2つの名前空間を持っています。 SessionObjectsという名前の第3の名前空間を追加したいと思います。この名前空間では、リストを格納して日付をキーとして使用する辞書を宣言します。この定義をどこでどのように行うのですか? – frenchie
global.asaxファイルは、さまざまなアプリケーションレベルのイベントを処理できるアプリケーションクラスです。 Link to MSDN。
あなたは(各ユーザーに固有である)セッションでこの辞書を格納するために満足している場合は、Global.asaxファイルは、アプリケーションレベルのイベント処理を定義するためのものであるSession_Start event
私はグローバルasaxの概念を得ました。 AppObjectsというファイルを作成しました。ユーザーオブジェクトとレポートオブジェクトを格納する2つの名前空間を持っています。 SessionObjectsという名前の第3の名前空間を追加したいと思います。この名前空間では、リストを格納して日付をキーとして使用する辞書を宣言します。この定義をどこでどのように行うのですか? – frenchie
あなたはどのような問題に直面していますか?あなたがリストを取得し、そのリストがいくつかのクラスにあるかもしれないので、すぐにSession ["MyList"] = youクラスを含むリストに追加できます。それを使用してクラスに戻し、リストから項目を検索してください...これはただのものです...あなたの要件として使用してください.... –