微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我应该向我的客户提供什么才能在任何地方部署 Asp.Net Core?

如何解决我应该向我的客户提供什么才能在任何地方部署 Asp.Net Core?

我们正在制作产品。到目前为止,它只是一组桌面应用程序。第一次,我们将很快开始构建一个 Asp.Net 核心 Web 应用程序(后端为 asp.net 核心,前端为 blazor 或 angular)。

Web 应用应可部署在 Azure 应用服务和本地服务器上。 我们必须提供一个捆绑包或任何东西,让他们将其安装在他们的服务器上。但显然,我们无法交付代码、visual studio 和他们在他们想要的地方发布。他们还应该能够编辑 appsettings.json

我猜如果安装在本地服务器上,他们应该将其部署在 IIS 上?或者一些 docker 方法会是更好的方法(没有真正测试过这个,因为 Visual Studio 要求我提供一个 docker 容器注册表,因此我无法直接生成一个 docker 镜像)

那么我应该为他们提供什么才能将其部署在云端和本地?

解决方法

  1. 你有很多选择。没有“一个正确的答案”。

  2. 无论您选择什么,“客户”都会将您的“应用”部署到某个“服务器”。该应用直接部署到用户的桌面。听起来您已经明白这一点,但值得强调一下。

  3. 那么什么是“服务器”?

    • 在 ASP.Net 时代,“服务器”是“IIS”。这仍然是 ASP.Net Core/.Net 5 的绝佳选择
    • Azure 应用服务是另一个不错的选择
    • 正如 Martheen 所建议的,“Dockerizing”您的应用是另一种可能性。
    • 由于您的平台是ASP.Net Core/.Net 5,所以除了IIS,您还可以选择其他HTTP服务器
    • 由于 Azure 是一种选择,因此除了 Azure 应用服务或 Docker 之外,您还有很多选择
  4. 无论您选择什么,如果客户要部署到不同的环境,您很可能需要向他们提供不同的安装说明。将应用部署到 IIS 的过程必然不同于部署到 Azure 应用服务或部署 Docker 映像的过程。

  5. 您的“包裹”必须包括:

    • 您的应用
    • 您的 Angular 前端
    • .Net Core 运行时
    • Blazor 运行时
    • “其他”(配置文件、安装脚本等)
  6. Angular 本身需要“打包”以包含在您的“应用程序”中。也许您已经使用 Angular Template 构建了 ASP.Net Core 项目。那会简化事情。或者,您可能正在使用 Angular CLI;独立于 MSVS/MSBuild。无论如何,在打包您的应用时必须有一些 Angular 的“构建步骤”。

  7. 我会从这里开始:

我希望这有帮助......至少有点......

,

Blazor 服务器项目在您发布时进行了预编译。您将获得:

  • 一个主exe文件

  • 一些dll文件

  • 你在 wwwroot 中放入的任何东西(css 文件、图标等)

  • 一些配置文件,包括 web.config 和 appsettings.json

  • 没有源代码文件

我还没有做过任何 WASM 项目,但我很确定这些项目也是如此。

有多种发布选项 - 可以通过 FTP 上传到 IIS 服务器的文件夹、直接发布到 Azure 应用服务等。我的理解是 WASM 根本不需要任何服务器——它甚至可以由 CDN 提供服务。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。