我需要在调试模式下启动 IIS,但我还需要在特定的应用程序池(具有 .NET 4.0 并允许 32 位应用程序)中运行。
当我运行我的应用程序时,IIS 使用以下命令行运行 w3wp.exe(根据任务管理器在命令行列中添加的内容):
-ap "WebSitePool" -v "v4.0" -l "webengine4.dll" -a \\.\pipe\iisipm[[some guid]] -h "c:\inetpub\temp\apppools\WebSitePool\WebSitePool.config" -w "" -m 0 -t 20
如果我尝试使用这些参数直接运行 w3wp,则不会收到任何错误消息(事件日志中也没有任何内容),但它只会向我提供 w3wp.exe 的用法。我尝试了该命令行的子集,但似乎无法让 IIS 使用我想要的应用程序池运行。我还尝试使用 -s 参数指定站点(站点 ID 1),虽然任务管理器会显示它正在使用 -s 1 参数运行,但它似乎没有在正确的应用程序池中运行。
显然,我也想使用 -debug 参数运行它,但是如果我在不指定应用程序池的情况下这样做,它会给我一个错误,因为它不想允许 32 位应用程序(坏图像错误)。
关于这一点,似乎没有太多文档。除了 w3wp.exe 本身提供的使用信息外,我找不到有关 w3wp 参数的任何文档。
因此,总而言之,我需要一种方法来使用 -debug 参数运行 w3wp.exe,并让它在特定的应用程序池中运行,或者至少允许 32 位应用程序运行。谢谢。