2011-11-09 23 views
0

最近、クラシックASPサイトをIIS 7.5を実行しているWindows 2008サーバーに移動しました。IIS 7.5上の内部サーバー500エラークラシックASP

ホームページは、2つのフレームがあるフレームページです。下部フレームには2つのiframeが含まれています。 javascriptタイマーはヘッダーフレームで実行され、2つのiframeのページを強制的に10分ごとにリロードします。他のすべてのものは同等ですが、これは完全に動作します。セッションは決してタイムアウトしません。画面上に「10.35での最終更新」と表示されるので、ユーザーは最後の更新がいつ行われたかを見ることができます。そして、アイフレーム - - メインフレームページ内のすべてのページには、これは完全にほとんどの時間を動作します - 私が言うように

IF IsEmpty(Session("CoID")) THEN 
Response.Write ... some javascript to replace the main page with the log in page 
END IF 

...最上部に、持っています。

インターネット接続が利用できないため、ボックスがスリープ状態になり、リフレッシュが機能しない場合は、ボックスをスリープ状態にすると、ページが最後に更新されて10.50たとえば、これは2時間前かもしれません)。すぐにマシンが起動してリフレッシュしようとすると、すぐにセッションが失われ、空のセッションを検出したコードがそのページをログインページに置き換えます。しかし、これは起こりません。代わりに、iframe内の2つのページが存在するはずの2つの内部サーバーエラーメッセージが2つ表示されます。

ヘッダーを右クリックして[更新]を選択すると、セッションが空であることが検出され、メインページがログインページに置き換えられます。 iframeの2つのページが同じことをしていないのはなぜですか?空のセッションコードの検出はすべてのページで同じですが、何らかの理由でリフレッシュが2つのiframeのページをリロードしようとすると、500の内部サーバーエラーが生成されます。

+0

500のエラーの原因は何ですか? IISで詳細なエラーを有効にして、どの行が落ちているのか確認しましたか? –

答えて

0

私はすなわち

Dim sess 
sess = Session("CoID") 

If sess = "" Then 
    ' code you want to execute ' 
End If 

IsEmptyが予期せず、それらに割り当てられた空白行を持っていた文字列のtrueとして検証されますので、私はかどうかをチェックすると思いますが、変数にSession("CoID")を割り当てることをお勧めし、それをテストしたいです変数は""と同等です。

関連する問題