1

これは、Session を使用して一時データを保存する状況に関するものです。1 つの例は、複数ステップの登録プロセス中に入力された情報です。

Web サイトにそのようなセクションが多数ある場合 - セッションをセクション内のページの一時データ ストアとして利用したい場合、データが不要になったときにセッションをクリーンアップする良い方法は何ですか。セクションから移動して、ページ自体をクリーンアップに使用できないようにします。

[編集] 私の場合、これの主な原動力は、セッションがプロセスの外に保存されるため、ネットワーク トラフィックを削減することですが、メモリにバインドされたアプリケーションとパフォーマンス全般に同じ​​懸念が適用される可能性があります。また、Session の予期しないデータによって、追跡が困難なバグが発生しやすくなります。

4

4 に答える 4

2

時間はセッションをクリーンに保つ必要があります。セッション期限切れになり、そうするとすべてのデータが破壊されます。これはデフォルトの動作です。

セッションに大量のデータを保存することは、サーバー リソースにとっては良いことではありませんが、ご存知のように、必要悪である場合もあります。どうしても気になる場合は、セッションを SQL Server に移行することを検討してください。わずかな遅延が追加されますが、はるかに多くのユーザーを処理できます。

于 2008-10-13T10:06:59.007 に答える
0

すべてをデータベースに保存してみませんか?それはただきれいです。

なんで?最近のほとんどのWebアプリは、ページビューごとにデータベースに12回以上アクセスするため、いくつかの単純なクエリがパフォーマンスに大きな影響を与えることはありません。

そうは言っても、特にファイルベースのセッションを使用している場合は、ユーザーが生成した大量のデータをセッションに保存しても問題はありません。

なんで?実際、1人の人が登録フォームに入力できるテキストの量はどれくらいですか?4000バイト未満のものはすべて同じ量のスペースを必要とします:1つのOSページ!

于 2008-10-13T10:55:26.070 に答える
0

セッションストレージを使用したり、データベースを使用して一時データを保存したりせずに、マルチステップの登録プロセスを設計できます。一度に1つのパネルを表示する複数のパネルを使用して、1つの.aspxページをデザインできます。ユーザーが最後のパネルを終了しても、以前に入力したすべてのコントロールに引き続きアクセスできます。

于 2008-10-13T11:18:42.060 に答える
0

大量のデータを保存する場合は、次の代替手段があります。

  1. キャッシュ
  2. データベース

セッションに大量のデータを保存することはお勧めしません。

于 2008-10-13T10:00:40.487 に答える