该网站正在运行,有3个单独的网站在IIS上运行。 当我对特定库进行更改时,我需要使用它来重新启动站点。现在,我的方法是手动右键单击系统任务栏中的IIS Express图标,然后单击“停止站点”,然后执行调试。
我想使该零件自动运行,所以当我开始调试时,它将停止该特定站点。 如果我不停止它,它将仅重用当前正在运行的站点,但是如果停止它,则它将重新启动它。
事件可能吗?我知道如何找到PID,但没有得到PID后面的站点名称。
答案 0 :(得分:2)
我将此脚本放在PowerShell中:
$site = 'Webapplication' # replace this by your site name (not case sensitive)
$process = Get-CimInstance Win32_Process -Filter "Name = 'iisexpress.exe'" | ? {$_.CommandLine -like "*/site:`"$site`"*" }
if($process -ne $null)
{
Write-Host "Trying to stop $($process.CommandLine)"
Stop-Process -Id $process.ProcessId
Start-Sleep -Seconds 1 # Wait 1 second for good measure
Write-Host "Process was stopped"
} else
{
Write-Host "Website was not running"
}
将其放在“构建前事件命令行”上,这样它将在编译之前运行:
echo powershell-文件“ $(ProjectDir)stopiis.ps1”
powershell-文件“ $(ProjectDir)stopiis.ps1”