gpt4 book ai didi

asp.net-mvc - 我可以在运行时更新我的​​ asp 核心站点吗?

转载 作者:行者123 更新时间:2023-12-01 04:50:53 27 4
gpt4 key购买 nike

我有一个使用 dotnet publish 构建的实时 ASP .NET Core 站点运行..

现在我想以尽可能少的停机时间更新网站 - 希望没有!

我在开发过程中注意到,如果没有附加调试器,我可以更改 View .cshtml文件,它们会被反射(reflect)而无需重新启动服务器,所以大概我可以将新 View 放入我的实时站点?其他一切如何,例如 Controller *.dll ?

我看了但找不到任何官方文档:(

最佳答案

不,你不能做到绝对“透明”

IIS 正在运行您的网站进程并且 dll/exe 文件被锁定。要解锁它们 - 您需要停止该站点。

我使用以下操作:

  • 将带有新站点的 zip 复制到生产服务器
  • 做一个 appsettings.json生产服务器上“备份目录”上的文件副本
  • 在 IIS 管理器中停止站点。停机时间开始
  • 从网站目录中删除所有文件 - 它们不再被锁定(IIS 停止站点)
  • 从 zip 包中提取新文件
  • 复制“生产”appsettings.json来自“备份目录”(覆盖 zip 中的一个)
  • 在 IIS 管理器中启动站点,在浏览器中本地打开它。停机时间结束。

  • 在我的网站上,所有停机时间都少于一分钟(复制文件,重新启动 kestrel)。如果这对您来说是 Not Acceptable - 您需要多个具有某种“渐进式更新”的实例。

    关于asp.net-mvc - 我可以在运行时更新我的​​ asp 核心站点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41176161/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com