IIS 6 では、IIS のリセットは何をしますか?
アプリ プールのリサイクルと、ASP.NET Web サイトの停止と開始を比較してください。
DLL を置換するか、ASP.NET Web サイトの web.config を編集/置換する場合、その Web サイトを停止して開始することと同じですか?
IISReset は、Web サーバー全体 (ASP.NET 以外のアプリを含む) を停止して再起動し
ます。アプリ プールのリサイクルは、そのアプリ プールで実行されているアプリケーションにのみ影響します。
Web アプリケーションで web.config を編集すると、その Web アプリケーションにのみ影響します (そのアプリだけをリサイクルします)。
マシンで machine.config を編集すると、実行中のすべてのアプリ プールがリサイクルされます。
IIS は、アプリケーションの /bin ディレクトリを監視します。これらの dll で変更が検出されるたびに、アプリがリサイクルされ、それらの新しい dll が再ロードされます。また、同じ方法で web.config と machine.config を監視し、該当するアプリに対して同じアクションを実行します。
IISReset は、Web サーバー全体 (関連するすべてのサイトを含む) を再起動します。1 つの ASP.NET Web サイトをリセットするだけの場合は、その AppDomain をリサイクルする必要があります。
ASP.NET Web サイトをリセットする最も一般的な方法は、web.config ファイルを編集することですが、次の方法で管理ページを作成することもできます。
public partial class Recycle : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
HttpRuntime.UnloadAppDomain();
}
}
詳細については、私が書いたブログ投稿を次に示します。ASP.NET アプリケーションで IISRESET を回避する
アプリケーション プールだけではなく、IIS プロセス ツリー全体で動作します。
C:\>iisreset /?
IISRESET.EXE (c) Microsoft Corp. 1998-1999
Usage:
iisreset [computername]
/RESTART Stop and then restart all Internet services.
/START Start all Internet services.
/STOP Stop all Internet services.
/REBOOT Reboot the computer.
/REBOOTONERROR Reboot the computer if an error occurs when starting,
stopping, or restarting Internet services.
/NOFORCE Do not forcefully terminate Internet services if
attempting to stop them gracefully fails.
/TIMEOUT:val Specify the timeout value ( in seconds ) to wait for
a successful stop of Internet services. On expiration
of this timeout the computer can be rebooted if
the /REBOOTONERROR parameter is specified.
The default value is 20s for restart, 60s for stop,
and 0s for reboot.
/STATUS Display the status of all Internet services.
/ENABLE Enable restarting of Internet Services
on the local system.
/DISABLE Disable restarting of Internet Services
on the local system.
アプリケーション プールのリサイクルは、そのアプリケーション プールの w3wp.exe プロセスを再起動するため、そのアプリケーション プールで実行されている Web サイトにのみ影響します。
IISReset は、すべての w3wp.exe プロセスとその他の IIS 関連サービス (NNTP または FTP サービス) を再起動します。
web.config
アプリケーションプール全体を変更またはリサイクルしないと思います/bin
が、それについてはわかりません。
IIS を構成するサービスを停止および開始します。
関連するプログラムを閉じて、再度起動することと考えることができます。
ASP.NET Web サイトの構成ファイルを変更すると、変更を反映するためにアプリケーションが再起動されます...
IIS のリセットを行うと、その IIS インスタンスで実行されているすべてのアプリケーションが再起動されます。
web.config
ファイルを編集したり、bin
フォルダー内の DLL を更新したりすると、プール全体ではなく、そのアプリケーションのワーカー プロセスだけがリサイクルされます。
IISReset は、Web サーバー全体 (関連するすべてのサイトを含む) を再起動します。1 つの ASP.NET Web サイトをリセットするだけの場合は、そのアプリケーション ドメインをリサイクルする必要があります。
Technet がiisresetについて述べていることは次のとおりです。
特定の構成変更を有効にする前、またはアプリケーションが使用できなくなったときに、インターネット インフォメーション サービス (IIS) の再起動が必要になる場合があります。IIS の再起動は、最初に IIS を停止してから再度起動することと同じですが、1 つのコマンドで実行できる点が異なります。