- PR -

HTTP500エラーの障害切り分けについて

投稿者投稿内容
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2008-06-05 01:01
ログインページのPage_LoadでXMLからConnectionStringを読み込んで
何らかのクラスのPublic Sharedなプロパティに代入する。
以後ConnectionStringを使うときは、このプロパティから取得する。
上記あってますか?

これだと、誰かがログインページからログインしないとConnectionStringが(XMLから)読み込まれませんね。
この状態でログイン以外の(ConnectionStringを使う)ページが呼び出されたらまずいですよね?

引用:
ログインページにキャッシュは使用しておりません。

キャッシュされる事を確実に防ぐ方法はありません。それに、
ログインページを開いて(Page_Loadが実行される)、長時間放置した後、
ログインボタン(?)を押下するのと同じ事ですよね。
(または、ログインボタンを押したあと、長時間放置し、次のアクションを行うとか)

引用:
ConnectionStringがなくなった場合にリサイクルされた形跡がありませんので、
ワーカープロセス関連ではないのではという結論に至っております。

リサイクルじゃなくても、メモリの中が消える原因となりうるすべてのことが
起きていないということが言えないと、意味がありません。
例えば以下のページ記載のアイドルタイムアウトってやつはどうですか?
(私はこのあたりにそんなに詳しいわけではないので詳細はわかりませんが)
http://www.atmarkit.co.jp/fdotnet/dotnettips/247aspworkerproc/aspworkerproc.html

どうしてもこの設計でいくなら、「取得できなかった場合に再度取得」でいいような気もします。

[追記]
周辺のコードを提示してくれたほうが、もう少し何かわかると思います

[ メッセージ編集済み 編集者: べる 編集日時 2008-06-05 01:02 ]
焼きそば
ベテラン
会議室デビュー日: 2002/11/06
投稿数: 86
お住まい・勤務地: 東京
投稿日時: 2008-06-10 18:38
焼きそばです。

返答遅くなりました。

引用:

べるさんの書き込み (2008-06-05 01:01) より:
ログインページのPage_LoadでXMLからConnectionStringを読み込んで
何らかのクラスのPublic Sharedなプロパティに代入する。
以後ConnectionStringを使うときは、このプロパティから取得する。
上記あってますか?




上記で概ね合っております。
ただ、もう一つトップページがあり、そこでも同じ処理を走らせております。

今回、原因はトップページならびにログインページでShared変数を
毎回NEWしていることが原因ということになりました。
なぜそのような作りにしたのか分かりませんが、
その部分に修正を入れることで同様のエラーが発生しなくなりました。

お手数お掛けしましたが、解決に至るまでの手法を提示して頂き、
誠にありがとうございます。

[ メッセージ編集済み 編集者: 焼きそば 編集日時 2008-06-10 18:43 ]

スキルアップ/キャリアアップ(JOB@IT)