- PR -

モジュールの入れ替えについて

投稿者投稿内容
まつとうや
常連さん
会議室デビュー日: 2004/09/04
投稿数: 42
投稿日時: 2006-02-23 15:45
じゃんぬねっとさま

説明が分かりにくくてすみません。
偽装でプロセス起動してる場合、置換できないとの情報をありがとうございました。
私の場合は、偽装ではなくプログラムからexeを通常に起動した場合になります。

まるくさま
numRecompilesBeforeApprestartの情報ありがとうございます。
以下のような記述をみつけました。
-------------------------------------------
ASP.NET v1.0 Webアプリケーション 再起動タイミング
・最大更新回数を超えた(machine.configのnumRecompilesBeforeApprestart)
・仮想ディレクトリの物理パスが変更された
・global.asaxかインクルードされているファイルが更新された
・machine.configが更新された
・web.configが更新された
・binフォルダ以下のフォルダ内のファイルが更新された
・binフォルダの名前変更か削除された
・大量のファイルが一気に更新された
・コードアクセスセキュリティポリシーが変更された
・machine.configのprocessModelは再起動に影響を与える

ASP.NET v1.1 Webアプリケーション 再起動タイミング (v1.0に加えて)
・HttpRuntime.UnloadAppDomainが呼び出された
・Webアプリケーション内のフォルダの名前が変更された
・Webアプリケーション内のフォルダが削除された
------------------------------------------

これによるとnumRecompilesBeforeApprestartを大きな数字に変更しても
bin以下のファイル(dllなど)を変更すると
Webアプリケーションが再起動されるように書かれてあります。
実際、Web.configをnumRecompilesBeforeApprestart="50"などに変更し、
IISを再起動して、一度WEBアプリにアクセスして
bin以下のファイルを2つほど入れ替えて再度WEBアプリにアクセスしてみましたが、
起動が非常に遅く再起動は発生しているようなのです。
binを入れ替えてもWEBアプリが再起動しない方法はないものでしょうか。
引き続き調べたいと思います。
何か分かりましたら書き込みたいと思いますが、
何かご存知でしたら宜しくお願いします。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-02-23 16:05
引用:

まつとうやさんの書き込み (2006-02-23 15:45) より:

私の場合は、偽装ではなくプログラムからexeを通常に起動した場合になります。


どういうことでしょうか?
結局のところサーバ側の話なのか、クライアント側の話なのかがわかりません。
Web に配置された EXE をクライアント側からという意味なのでしょうか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
まつとうや
常連さん
会議室デビュー日: 2004/09/04
投稿数: 42
投稿日時: 2006-02-23 18:15
じゃんぬねっと様

偽装とはプログラムが別のプロセスを起動する際に権限などの問題で
別のユーザーとして「偽装」して起動することを意味しているのかと思っていました。
すみませんが上記のように偽装の意味がよくわかっておりません。

私の説明が足りなかったのですが、起動するexeは、WEBサーバのwwwrootの仮想ディレクトリ\bin以下に配置されており、同サーバのWEBアプリ、サービスよりVB.NETのShell関数を用いて起動されます。
この場合も偽装にあたり、ファイルがロックされ上書きが禁止されるのでしょうか?
もしそうだとexe(コンソールアプリ)によるバッチプログラムが実行中は、
exeの入れ替えができないということになるかと思います。

宜しくお願いいたします。







じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-02-23 18:35
引用:

まつとうやさんの書き込み (2006-02-23 18:15) より:

この場合も偽装にあたり、ファイルがロックされ上書きが禁止されるのでしょうか?


偽装によってではなく、プロセスが実行されることによってですね。

引用:

もしそうだとexe(コンソールアプリ)によるバッチプログラムが実行中は、
exeの入れ替えができないということになるかと思います。


そうですね、そのものが実行されている以上はそうなります。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌

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