0

私が抱えている状況は次のとおりです。私は、学校のグループが使用するオンライン システムを構築しています。一度にシステムにログインできるのは 1 つの学校だけであり、その学校から約 13 人のユーザーを取得できます。次に、教育アプリケーションに進み、タスクを完了するために協力する必要があり、コードの観点から、いたるところで変数を共有する必要があります。

共有する必要がある変数を保持する静的プロパティを持つ静的クラスを設定すると、静的変数がすべてである限り、データベース内/データベースから変数を保存/アクセスする必要がなくなる可能性があると考えていました。アプリケーションの起動時に適切に初期化され、最後にクリーンアップされます。もちろん、変数をスレッド セーフにするために、get メソッドと set メソッドにもロックを設定する必要があります。

心の奥底で、これはひどいやり方かもしれないと言っているのですが、正確な理由はわかりません。そのため、この状況で静的クラスを使用することに賛成または反対の考えを人々に教えてもらえれば、私はかなりありがたいでしょう。

4

1 に答える 1

3

Web サイトで変数をグローバルに共有する場合は、「Application」という名前の変数を使用して、任意の ASP ページで使用できる Application State (System.Web.HttpApplicationState) を使用する必要があります。

セッション変数と同じように機能し、値をハッシュテーブルに格納します。唯一のことは、スレッドセーフにするためにロックを管理する必要があることですが、よく覚えていれば、変数をロックおよびロック解除する組み込みのメソッドまたはプロパティがあります。

詳しくはこちらをご覧ください: http://msdn.microsoft.com/en-us/library/ms178594(v=VS.100).aspx

于 2010-05-07T02:05:38.083 に答える