6

asp.netセッションの延長はどのように行われますか、すべてのリクエストがセッションの終了日を延長しますか、また ajax によって void() を呼び出して、セッションの終了日を別の期間 (デフォルトで 20 分程度...) 延長するだけで十分ですか?

public void ResetSessionTime()
{

}

または、何らかの方法でセッションを呼び出す必要がありますか:

public void ResetSessionTime()
{
    User currentUser = HttpContext.Current.Session[userSessionKey] as User;
}

簡単なリクエストはどのようにセッションの終了日を延長しますか?

この質問は、すべてのポストバックがセッションを延長すると主張しています...

セッション状態プロバイダーに関するこのMSDN :

「ASP.NET によって作成された各セッションには、それに関連付けられたタイムアウト値 (既定では 20 分) があります。セッション タイムアウト内にセッションへのアクセスが発生しない場合、セッションは期限切れと見なされ、有効ではなくなります。 "

リクエストはどのようにセッションに正確にアクセスしますか?

この質問:セッションを維持する C#は、セッションの終了日がリクエストによってどのように延長されるかについては答えません。クライアント側からセッションを維持する方法についての意見のみです。

編集:

この記事によると、現在のセッションにアクセスするには、メソッドを IHttpHandler から拡張する必要があります...

public class KeepSessionAlive : IHttpHandler, IRequiresSessionState
{
    public void ProcessRequest(HttpContext context)
    {
        context.Session["KeepSessionAlive"] = DateTime.Now;
    }
}
4

1 に答える 1

2

リクエストを行うたびに、セッション タイムアウトがリセットされます。要求は、ページの読み込みまたは ASYNC 呼び出しのようなものです。

サーバーへの AJAX 呼び出しを定期的に行うことでセッションを維持する方法の例については、この質問をご覧ください。( ASP.NET セッションを開いたままにする / 有効にする)

于 2013-01-28T16:01:22.760 に答える