如何自动部署Blazor Server应用程序

时间:2020-07-15 15:37:00

标签: .net asp.net-core .net-core blazor blazor-server-side

有没有办法自动部署Blazor Server应用程序?该应用程序使与服务器端DLL的连接保持打开状态,这迫使我们登录到服务器并手动停止站点,然后再复制修订的文件。我们试图使用PowerShell来停止该站点,但它仍然使DLL处于锁定状态。只有通过IIS面板手动停止才能解锁文件。

2 个答案:

答案 0 :(得分:1)

您必须停止AppPool,而不是站点。这是我们使用的PowerShell脚本(这些碰巧是从Octopus部署中调用的,因此它们为AppPool名称使用了替换变量($AppName),但是您应该明白要点)。

预部署:

# Load IIS module
Import-Module WebAdministration

# Stop the app pool if not already stopped
if ((Get-WebAppPoolState($AppName)).Value -ne "Stopped") {
    Write-Output "Stopping IIS app pool $AppName"
    Stop-WebAppPool $AppName
}

部署后:

# Load IIS module
Import-Module WebAdministration

# Start the app pool
Start-WebAppPool $AppName

答案 1 :(得分:0)

如果将app_offline.htm放在Web根目录中,则apppool停止并且dll被解锁。

相关问题