2016-06-29 18 views
0

staticを使用せずにMVCアプリケーションでグローバル変数を宣言するにはどうすればよいですか?MVCで静的キーワードを使用せずにグローバル変数を宣言する方法はありますか?

私は現在、静的アプローチに従っており、アプリケーションが異なるユーザーから同時にログインしているときに問題を引き起こしています。

+2

あなたは何をしようとしていますか?ウェブベースの環境では、このアプローチは一般的には良い考えではありません。ミドルウェアは使用できますが、達成しようとしているものによって異なります。 – hbulens

+1

グローバル変数は、通常、良い習慣ではありません。 –

+3

グローバル変数は、 'static'を使用するかどうかにかかわらず、同時ユーザーに問題を引き起こします。グローバル変数を使用して解決しようとしている問題は何ですか? –

答えて

1

グローバルにしたい場合は、Sessionコンテキストを使用して変数を保存することをお勧めします。これは実際にユーザーレベルではありません。なぜなら、ユーザーは複数回ログインできるからです。しかし、通常、これは私の経験ではより適切です。

私は通常、このようなものがあります:

public string Prop 
{ 
    get 
    { 
     return (string)Session["Prop"]; 
    } 
    set 
    { 
     Session["Prop"] = value; 
    } 
} 

これは非常に簡単かつ一貫性のあるプロパティにアクセスするようになりますが。

+0

リストを使用したいのであれば、それは適切ですか? –

+0

はい、私の知る限り、どのようなデータ型も許可されています。 –

+0

データが大きい場合はどうすればよいですか? –

0

セッションと同様に、アプリケーションオブジェクトを使用することもできます。また、変数をキャッシュに格納することもできます。

関連する問題