2016-11-03 5 views
0

私はC#mvc4とEF5.0を使用しています 私のDBには、すべてのユーザーのアプリケーション設定を含む「設定」という名前のテーブルがあります。 設定は月に1回しか変更されませんが、私はコントローラのほとんどすべての動作に設定を使用します。 現時点で私は "HttpContext.Current.Application [" Settings "]"がnullであるかどうかを確認する請負業者を作成し、nullの場合はDBからロードします。C#mvc4長時間サーバーキャッシュを保存する最も良い方法は?

私の質問は、毎回DBから取得せずにこのデータを取得する最良の方法は何ですか?私は月に一度IISをリサイクルするために気にしない ...

おかげ

+0

データが 'Application_Start()'のときにのみ入力されている場合は、何が問題なのですか? – haim770

答えて

0

それだけで設定した場合、あなたは、単にこれはで設定を保持します

Settings settings = new Settings(); 
public DateTime LastUpdated {get;set;} 
public Settings GetSettings() 
    { 
     if (settings == null || LastUpdated.AddMonths(1) <= DateTime.Now) 
     { 
      settings = // DB.GetSettings(); 
      LastUpdated = DateTime.Now; 
     } 

     return settings; 
    } 

メモリに保存することができます毎月またはIISをリセットしたり、プロジェクトを更新したりするときに再度読み込んでください。

もちろん、それ以上のものが必要な場合は、キャッシュ層として(RedisやmongoDB)のようなno-SQLツールを使用できます。

ご希望の場合

関連する問題