【问题标题】:.Net core application failing to upload via FTP, hosted on IIS.Net 核心应用程序无法通过 FTP 上传,托管在 IIS 上
【发布时间】:2017-09-05 23:22:39
【问题描述】:

我在通过 IIS 上托管的 FTP 部署 .net 核心应用程序时遇到问题。

我要更新的主要 DLL(核心应用程序)不会上传,FTP 只会给我一个通用权限错误消息。我认为原因是因为它们正在使用,因为然后我停止应用程序池,上传并重新启动它就可以了。

但这并不是真正的解决方案,有没有其他的发布方法可以缓解这个问题?

编辑:

“打开写入:失败”

这是我得到的唯一错误。我在网上找不到任何东西,我唯一的解决方案是重新启动应用程序池。

【问题讨论】:

    标签: asp.net windows iis ftp .net-core


    【解决方案1】:

    我找到了答案,我认为它应该在这里供将来使用 Google 搜索。

    问题在于我最初预计 IIS 代理了对 kestrel 的请求,这意味着就 Windows 而言,该进程正在使用中。有三种解决方案。

    好的解决方案

    在负载平衡器后面的 Azure 上拥有两个(或更多)虚拟机。有一个脚本,一次关闭一个站点,做它需要做的事情,然后重新打开它们。正确执行此操作,无需停机!

    中场休息

    在我谈论其他解决方案之前,先做一点解释。我已经很久没有使用 .NET 了,但显然你可以在其中添加一个 app_offline.htm 来做这件事,它会暂时为你关闭该网站。

    在 IIS 和 .Net Core 的上下文中,它还释放了进程,这真的很有用,因为它解决了我的问题!虽然我必须先访问网页才能使其生效,除非我弄错了。

    糟糕的解决方案

    使用自动脚本将 _app_offline.htm 重命名为 app_offline.htm。进行升级,然后恢复该更改。让您的网站崩溃,有点丑陋,但脚本总是比...

    丑陋的解决方案

    您只能访问 FTP,没有远程管理员或适当的部署过程,因为...原因。

    上传app_offline.htm,尽量少上传,希望在删除或重命名app_offline.htm之前不会破坏任何东西。

    此外,您还必须使用 EnableAutomaticMigrations = true 执行任何数据库迁移,因为您没有服务器访问权限或脚本方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-20
      • 1970-01-01
      • 2021-05-19
      • 2019-08-29
      • 1970-01-01
      相关资源
      最近更新 更多