2

インプロセス メンバーシップ プロバイダーから sql メンバーシップ プロバイダーに切り替えて、Web サイト プロセスがリサイクルされたときにセッションが失われないようにしましたが、セッションはまだタイムアウトしているようです。

SQLメンバーシッププロバイダーを使用しているときにセッションがタイムアウトする原因となるものは他にありますか(web.configで設定されたセッションタイムアウト変数を除く)。ユーザーがブラウザーを閉じて開いても、セッションを維持したい。そのために何か特別なことをしなければなりませんか?

4

3 に答える 3

1

永続的な Cookie (「記憶する」チェックボックス) を使用すると、ユーザーは 3 日までにログインされます。このウィンドウを大きくしたい場合は、自分で作成する必要があります。

于 2009-02-24T16:55:34.653 に答える
0

セッション(その性質上、有効期限が切れ、単一のセッションにのみ適用される一時データ用である必要があります)とプロファイルを混同しています。ASP.NET のメンバーシップ データベース機能を使用して永続的な設定を行うことができますが、それらはユーザーがログインしたままの場合にのみ再表示されます。

ただし…匿名の身分証明もあります。これは web.config で有効にできます

<anonymousIdentification enabled="true"/>   

次に、プロファイル設定を匿名ユーザーが利用できるようにマークします。

<profile>
  <properties>
    <add name="Name" allowAnonymous="true" />
  </properties>
</profile>

匿名の Cookie は約 70 日間有効です。登録と本格的なメンバーシップをサポートすることにした場合は、登録時に匿名設定をユーザーの設定に移動する必要があります。

于 2009-02-24T17:00:26.500 に答える
0

ウィンドウを閉じた後、セッションを永続化することはできないと思います。ユーザー アカウントはセッション Cookie によってインデックス化され、ウィンドウを閉じると削除されます。

あなたができることは、ユーザープロファイル情報を保存し、ログイン時にそれを復元するか、または他の方法で自分自身を識別することです (通常の Cookie など)。

于 2009-01-15T17:13:56.020 に答える