部署 ASP.NET CORE Web 应用程序

问题描述 投票:0回答:2

我正在制作一个 Web 应用程序,并正在学习 ASP.NET Core 编程入门教程。

到目前为止,我已经使用实体框架创建了本地 SQL Server 数据库,一切都很好。我想问一下部署的问题。

我希望将网站部署到托管服务器,并且想知道应用程序是否会与数据库一起部署,或者如何使数据库与网络上的应用程序一起工作。

我希望得到准确的解释和/或文章,因为我很困惑,并且有些文章声称 SQL Server 需要一些安装和配置。

哪种数据库类型最适合 .NET Core Web Apps 以便轻松部署?如何创建或部署数据库来与我的 Web 应用程序配合使用?

我将不胜感激准确的答案。

sql-server asp.net-mvc database .net-core web-deployment
2个回答
1
投票

取决于您的需求。 MSSQL 是 EF Core 中的默认设置,但属于专有且昂贵。我更喜欢开源软件(.NET core 本身也是操作系统!),因此我将 MySQL 与 EntityFramework 和 Pomelo.EntityFrameworkCore.MySql 驱动程序包一起使用。通过.NET Core 之前的其他项目(例如 PHP)的经验,我的 MySQL 知识也更加丰富。我已经在 .NET 1 以及当前的 2.1 LTS 上使用它多年,并且效果很好。

根本不存在“最好的数据库”,因为每个工作负载都有好的数据库。例如,当拥有非结构化数据时,NoSQL 数据库可能比任何 RDBMS 都能更好地完成这项工作。 我会选择数据库

数据类型
  1. 现有的经验和时间/希望尝试新的东西(与#1相关 - 我不会使用例如 CouchDB 只是为了尝试 CouchDB,即使这对项目没有任何意义)
  2. 开源与闭源的优势和优势(相关时,例如,如果您想在 MySQL 和 MSSQL 之间进行选择)
  3. 应用程序托管

通常,您需要 MySQL、MSSQL 或您选择的任何 DBMS 的数据库实例。这可以是现有实例,也可以是新实例。例如部署在 Docker 或 VM 上。如果在数据保护方面合适的话,也许还在云中托管数据库实例。这主要取决于你现在的情况。在公司中您可能无法选择每个数据库。作为私人或自由职业者,您可能拥有更多自由。

您应该考虑整个软件堆栈的架构。至少会有一个 ASP.NET Core 应用服务器和数据库服务器。也许还有一些反向代理服务器,具体取决于您的需要。

您可以自己回答几个问题,以了解托管:

托管平台是什么?我是否使用例如虚拟机还是(Docker)容器?
  • Linux 还是 Windows,为什么?
  • 谁负责行政管理?我?行政部门?或者我需要某种托管吗?
  • 软件是如何部署的?
  • 不同阶段(例如测试环境)怎么样?
  • ...

0
投票

© www.soinside.com 2019 - 2024. All rights reserved.