6

私はASP.NET MVC 4 Webアプリケーションを持っています。ローカルで実行すると正常に動作しますが、Webホスト(共有ホスティングを使用する)ではログオンしたユーザーは頻繁にホームページにリダイレクトされてログアウトされます。ほとんどの場合、ユーザーは少数のアクションを実行した後にログアウトします。ASP.NET MVCメンバーシップ - 頻繁にログアウトされるユーザー - 理由を知らない

Webホストは、アプリケーションのメモリ使用量が多すぎる可能性があると示唆しましたが、メモリ使用量をプロファイルするためにプログラムを使用しましたが、過剰なメモリを使用していないことを確認しました。 Webホスト上の割り当てられたメモリの割合。ここで

が使用されているログオン方法である:私のWebホストで

public static Boolean Login(string Username, string Password, bool persistCookie = false) 
    { 

     bool success = Membership.ValidateUser(Username, Password); 
     if (success) 
     { 
      FormsAuthentication.SetAuthCookie(Username, persistCookie); 
     } 
     return success; 
    } 

、フォーム認証のタイムアウトを60分に設定されているので、それは右、問題にすべきではありませんか?

<authentication mode="Forms"> 
    <forms loginUrl="~/Account/Login" timeout="60" /> 
</authentication> 

と私のセッション状態のタイムアウト値は60分に設定されています:答えhereに基づいて

<sessionState mode="InProc" customProvider="DefaultSessionProvider" timeout="60"> 

、私はこの問題を解決していないようでした、また、この行を追加:

<machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps"></machineKey> 

問題がどのようなものか、問題を解決するために何ができるのですか?

答えて

1

セッションはタイムアウトしていません。 IISがクラッシュしています。メモリセッションで使用しているので、IISがクラッシュするたびにセッションがなくなり、ユーザーはログアウトします。サーバーのイベントビューを確認し、エラーの詳細を調べて、エラーの内容を調べる必要があります。

0

私は、web.configファイルのための認証タイムアウトに2880年に私のタイムアウトを設定し、私はまた、これは、24時間のアクティブなセッションを保ち続けるのsystem.web

<sessionState timeout="1440"></sessionState> 

を閉じる前にてsessionStateを設定します。

+2

私は両方とも60に設定されていますが、それは十分な時間以上でなければならない60分です。私はそれが何か違いがあるかどうかを見るためにタイムアウト値を大きくしました...しかし、それはしません。 –

+0

タイムアウトするまでにどれくらいの時間がかかりますか、特定のページやコントローラから来ているようですか? –

+0

私は、ユーザーセッションは1分または2分以上有効ではないと言うでしょう。どのコントローラが呼び出されているかは問題ではないようです。 –

関連する問題