2

Azure でアプリケーションを実行しています (トライアル アカウント)。これまでのところ、長い展開時間 (10 ~ 15 分) を除いて、すべてがうまくいっています。

最近デプロイを行ったところ、追跡できない奇妙なバグがたくさんありました。たとえば、ログインして Cookie が作成された場合 (FormsAuthentication を使用)、アプリケーションから得られるのは空白のページだけです。ブラウザーには何も送信されません。このアプリケーションは、ASP.NET Web Dev Server、IIS Express、さらには Azure Emulator でも正常に動作します!

問題は何ですか?Web を検索してもあまり役に立ちませんでした。関連のない問題がいくつかあるだけです。

4

4 に答える 4

2

サイトにログインしてみました (コメントの場合、URL がversulo.comであることが正しく理解できた場合)、404 ステータス コードの空白ページは表示されませんでした。

しかし、私が見つけた別の問題があります。あなたのサイトはキャッシュを不適切に実装しているようです。ログインをトリガーし、本質的に動的なメイン ページには、ページが最初に読み込まれてから 5 分後に設定された Expires ヘッダーが含まれています。つまり、そのページが最初に読み込まれてから 5 分以内の各呼び出しまたはリダイレクトは、ブラウザのキャッシュから提供されます。

そのため、アプリケーションにログインした後、ログインしていないように見えるホームページにリダイレクトされます。ブラウザで F5 を強制的に更新すると、ページは実際にログインしていると表示されます。

更新する代わりに再度ログインしようとすると (最初の試行ではログインが機能しなかったように見えたので、これを最初の試行で行いました)、次のメッセージが表示されたエラー ページが表示されます。

サーバーでエラーが発生しました。500

このページはアプリケーション エラー ページのように見え、500 の数字が表示されていても、実際には HTTP 200 で提供されます。

したがって、これがあなたが説明した問題の原因でもあるかどうかは 100% 確信が持てませんが、アプリケーションが提供している動的ページから Expires ヘッダーを削除する必要があります。

于 2012-04-26T17:55:23.600 に答える
0

一部のビューはまったくレンダリングされません。

一部のページは正常に機能していますが、他のページは機能していないということですか?何が機能していて何が機能していないかについてのパターンを指摘できればもっと良いでしょう。今のところ、参照されているすべてのアセンブリ(デフォルトの.NETアセンブリとWindows Azureランタイムを除く)で[ローカルコピー]がtrueに設定されていることを確認してください。たとえば、MVCアセンブリは.NETの拡張機能と見なされるため、[ローカルコピー]をtrueに設定してください。さらに、Fiddlerを使用してリクエストを監視し、サーバーから何が返されるかを確認することもできます。

よろしくお願いします、

明徐。

于 2012-04-24T07:09:55.397 に答える
0

これは、フォーム認証を複数のインスタンスと組み合わせていることが原因である可能性があります。複数のインスタンスを使用していますか? その場合、次のことができますか。

于 2012-04-23T18:16:08.207 に答える
0

アプリケーションまたはソース コードへのリンクを提供していただけますか?

「空白のページ」と言うと、実際に返されるのは 404 / 500 ですか?

IIS ログを調べたり、トレース情報をコードに追加したりしましたか?

ドメイン名ではなく IP アドレスを使用してサービスにアクセスしようとしましたか?

于 2012-04-26T08:18:28.297 に答える