3

開発されてサーバーにインストールされたアプリケーションがあります。次に、同じアプリを別の Web サーバーにインストールする必要がありました。移行から始めて、いくつかの問題が見つかりました。

現在、アプリケーション ユーザーは何の理由もなくログアウトしています (エラーはなく、ログアウトするだけです)。 これは Web.config です。 sessionState timeout="1800" も設定しましたが、2 分間非アクティブ状態が続くと追い出されます。

サービス プロバイダーにはデバッグ ツールがないため、サーバー上でデバッグできません。さらに、私は .net 開発者ではなく、解決策を見つけることができません。何も見つからなかったMicrosoftのドキュメントを見ると、ログにはエラーやメモリ制限が報告されていません。

私に何ができる?この問題の解決策を見つけるために、あなたが理解する必要があるすべてのことを提供したり、私を助けたりすることができます。

ありがとう!

4

2 に答える 2

1

この問題を解決するためにできることは 2 つあります。場合のみ(フォーム認証があり、他のプロパティが正しく設定されています)。

  1. web.config でマシン キーを作成します。
  2. アプリケーション プール プロセスのアイドル時間を上限に変更します。デフォルトでは 20 分です。

プロセスが 20 分以上アイドル状態のままになると、ワーカー プロセスが強制終了され、マシン キーが再生成されます。クライアント マシン上の既存の Cookie は古いマシン キーで暗号化されます。最近生成された新しいマシン キーを使用して復号化されないため、ユーザーはログイン ページに送られ、資格情報を再入力し、新しい永続的な Cookie を作成します。

于 2013-06-06T15:29:16.997 に答える
0

web.config は、Cookie に保存された SessionID を使用するように設定されています。Web ブラウザーの開発者ツールを使用して、ASP.NET_SessionID Cookie のタイムアウトを確認します。次に追い出されたときには、Cookie がなくなっている可能性があります。

web.config を見ると、ASP.net 認証を使用していないようです。あなただったら、こんな感じです。

<authentication mode="Forms">
   <forms name="appname" defaultUrl="Default.aspx" loginUrl="Login.aspx" 
       protection="All" path="/" timeout="480" slidingExpiration="true"/>
</authentication>

モードは Windows|Forms|Passport|None に設定できます。あなたのものはなしに設定されています。まだ認証を使用している可能性がありますが、IIS で設定する必要があります。

于 2012-04-25T10:43:19.500 に答える