0

データを保存します

    HttpContext.Current.Application.Add(appKey, value);

そして、これでデータを読み取ります:

  HttpContext.Current.Application[appKey];

これには、値にキーを使用しているという利点がありますが、短時間 (約 20 分) 後には機能せず、iis データのアプリケーション ライフ サイクルが失われるため、[appKey] が見つかりません。キーと値でデータを保存する別の方法を知りたいですか? 私はSQLサーバー、ファイル、...を望んでおらず、クライアントではなくサーバーにデータを保存したい

ユーザーにいくつかのデータを保存します。

助けてくれてありがとう

4

4 に答える 4

3

IIS はいつでもキャッシュ/メモリの内容をリサイクルして破棄する可能性があるため、データを永続化する唯一の方法は、IIS の外部にデータを保存することです。いくつかの例は次のとおりです。(そして、はい、リストをもう少し完全にするために、あなたが望んでいないと述べたものを含めました。それらをスキップしてください)

  • SQL データベース (価格が高すぎる場合は、かなりの数の無料のものがあります)
  • NoSQL データベース (同じこと、かなりの数の無料のもの、通常はキー/値に使用する方が簡単です)
  • ファイル(不要だと述べたファイル)
  • AppFabric キャッシュや memcached など、ある種の外部メモリ キャッシュ。
  • Cookie(サイズが多少制限されており、デフォルトではまったく安全ではありません)
于 2012-09-17T18:13:27.557 に答える
0

セッションが期限切れにならないようにユーザーのマシンに永続的な Cookie を作成するか、状況/ユーザーにとってより適切に機能する値にセッション タイムアウトを増やすことができます。

asp.netで永続的なCookieを作成するには?

ASP.NET でのセッション タイムアウト

于 2012-09-17T18:11:36.467 に答える
0

セッションの範囲を超えてデータを永続化することについて話している。したがって、何らかの形式の永続ストレージ (データベース、ファイル、キャッシュ サーバー) を使用する必要があります。

AppFabric の使用を検討しましたか。実際に実装するのはかなり簡単です。nuget パッケージを使用してコードから直接アクセスすることも、セッション ストアとして構成することもできます。(私が思うに) 後者を実行すると、セッション タイムアウトの問題が解消されます。

于 2012-09-17T18:15:54.343 に答える
0

アプリケーションに保存することを決定したものはすべて、アプリケーション内のすべてのユーザーが利用できることを理解していますか?

実際の質問についてですが、どのようなデータを保存する予定ですか? ユーザーの機密データである場合は、おそらくセッションに保存するのが理にかなっています。それがクライアント固有のものであり、機密情報が含まれていない場合、Cookie はおそらく合理的な方法です。

それが実際にアプリケーション全体のデータであり、アプリケーションのすべてのユーザーで同じでなければならない場合は、構成を変更して、20 分後に有効期限が切れないようにすることができます。

于 2012-09-17T20:30:32.453 に答える