2

MVC 4 アプリがあり、既定の認証プロバイダーを使用しています。永続的な Cookie を使用していません。

開発には問題はありませんが、HostGator でホストされている場合、新しいアイテム (HTTP POST) を作成しようとすると、ログオフされることがあります。これが発生すると、認証されていないかのようにログオン ページが表示されます。

HostGator は複数の Web サーバーにアプリを持っていないので、マシンキーのことを心配する必要はないと考えています。私が間違っている?

これが発生した場合は、再度ログインしてアイテムを再度作成するだけで成功します。これが発生すると、問題を再現することはできません。ブラウザを再度開いてみたり、別のブラウザを開いてみたりしましたが、アイテムの作成は常に機能します。ずっと後で試した場合にのみ、再び発生するようです。

いくつかの追加情報、タイムアウトは 2880 (MVC プロジェクトのデフォルト) に設定されています。それでも、私はそれについて言及したいと思いました。

そのため、IIS ログやイベント ビューアーを見て何が起こっているのかを把握することはできませんが、アプリにログを追加することはできます。誰が何をチェックするか、または診断するためにどのログを追加するかについてのアイデアを提供できますか?

ありがとう

編集

IIS のログにアクセスできることがわかったので、成功した POST と失敗した POST を比較したところ、すぐに何かに気づきました。

最初に GET を実行してアイテム/作成ページ/ビューをロードしたとき、cs-username が入力されましたが、アイテムを作成するために POST を実行したときに、それはなくなりました。再度ログインしてアイテムを正常に作成できたとき、POST で cs-username が入力されていることがわかります。

なぜGETとPOSTの間で消えるのでしょうか? GET から POST まで 7 分の遅延がありましたが、GET の 1 分前にログオンしたことがわかります。つまり、ポストが発生した時点でセッションはわずか 8 分しか経過していませんでした。sessionstate が明示的に構成されていないことを再確認したので、デフォルトは 20 分です。私は何かに夢中になっているように感じますが、正確にはわかりません。

4

1 に答える 1

0

Glimpse を追加する価値はあるかもしれませんが、デプロイされたコードでそれを実行するのはちょっと危険です。ただし、サーバーで実際に何が起こっているかを確認できるという利点があります。私は HostGator を使用したことがないので、はっきりとは言えませんが、アプリケーション プールを積極的にリサイクルすると、ログインが無効になり、ログオフがランダムに発生するように見える理由が説明されます。

于 2012-11-18T02:36:10.857 に答える