プロが教えるわが家の防犯対策術!

ASP.NETはDLLを上書きで入れ替えるだけで、アプリケーション再起動&DLL再ロードが走りますが、
以前それがうまくいかないケースがありました。
DLLを上書きして入れ替えても、PGの挙動が変化しないというもので、
結局Webアプリケーションごと再インストールをすることで問題を解決しました。
今になってその原因を調べているのですが、その問題が起きた当時の情報がほとんどなく、
調査に行き詰っている状態です。
その時「アプリケーションの再起動」があったかどうかすら不明です。
私個人は、当時の担当者のオペレーションミスでは? とも思いますが、確認する術もありません。

そこで質問なのですが、DLLを入れ替えても、ASP.NETアプリケーション内部のモジュールが
更新されないまま動いてしまうといった現象について、
何か思い当たることのある方はいらっしゃらないでしょうか。
提示できる情報があまりに少なく恐縮ですが、ご助言を頂ければありがたいです。

A 回答 (1件)

基本的にはdllを置き換えたらアプリケーションが再起動してDLLは新たに読み込まれるはずです。


ただ、たまにそれで挙動が変わらない、という現象には何度か遭遇したことがあります。
主に開発中ですが。

ASP.NETではdllは、aspxファイルをコンパイルしたdll等とともに Temporary ASP.NET Filesというフォルダにコピーされます。
で、実行中はこのフォルダ内のdllが利用されます。

原因はわからないのですが、なぜかこの実行側のdllが置き換わらない、ということがたまにありました。
対処法としてはアプリケーションを停止(World Wide Webサービスの停止が必要だったかも)してこのフォルダ内のすべてのフォルダ/ファイルを削除する、ということをします。
次回実行時にあらためてコピー、コンパイルが行われますので、その後は新しいプログラムで動作します。

たまたまこの現象にあたったのかもしれませんね。
たぶんアプリケーションの再インストールまでは必要なく、この対処法をとることで対応できたんじゃないかと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
このような対処法があったのですね。
大変参考になりました。

お礼日時:2011/05/20 13:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!