|
Post by account_disabled on Jan 29, 2024 8:24:13 GMT
特别感谢Matthew Wilkin热心帮助同行评审本文。 近年来,微软一直将ASP.NET Core 框架吹捧为 ASP.NET 的未来。Microsoft 堆栈上的 Web 专业人士对 ASP.NET Core 很感兴趣。如果您在 Windows 上运行 Web 应用程序并想要进行升级,有哪些问题?向最新、最好的产品的过渡是否顺利? 在本文中,我想深入探讨升级到 ASP.NET Core 时可能遇到的常见陷阱 - 假设您渴望进行切换。作为开发人员,获得让您的生活更轻松的闪亮新工具总是令人兴奋的。 在本文中,我将使用“ASP.NET classic”来指代旧版 ASP.NET 框架。我将使用“ASP.NET Core”来指代 Microsoft 向 ASP.NET 开发人员提供的标准框架。 Microsoft 在 ASP.NET Core 跨平台方面取得了积极进展。新工具可在 Linux、macOS 和 Windows 上运行。知道您的后端代码现在可以在任何地方运行可能会令人感到欣慰。这使您(开发人员)不必在 Windows 机器上编写代码。 可用的新工具可满足您的个人喜好。 Learn to Code with JavaScript 来自 ASP.NET 经典,一个有效的假设是您使用的是 Windows 平台。对您来说,目前跨平台可能并不重要。到目前为止,ASP.NET 经典版一直是 Windows 独有的一等公民。当然,与 Windows 和 IIS 的紧密 WhatsApp 号码数据 集成既是福也是祸。 那么,ASP.NET Core 对于 Windows Server 和 IIS 上的开发人员意味着什么呢?现在 ASP.NET Core 是跨平台的,这意味着什么? 依赖地狱 与 IIS 解耦的一个自然后果是依赖关系的爆炸式增长。ASP.NET Core 在 Kestrel 上运行,Kestrel 是一个响应 HTTP 请求的单独进程。这意味着该框架依赖于 IIS 曾经存在的一系列依赖项。这些依赖项是基本的 NuGet 包,您可以从 Internet 下载。 对于 ASP.NET Core,NuGet 是获取依赖项的规范方法。事实上,大多数工具现在都是解耦的 NuGet 包,您可以将其添加为依赖项。您在本地开发盒上安装的工具只是一个垫片。 目的是让您的应用程序与其所有依赖项保持独立。大多数 ASP.NET Core 都包含在即插即用的模块化 NuGet 包中。 这是对与 IIS 紧密耦合的旧整体框架的全新诠释。ASP.NET Core 确实是跨平台的。曾经依赖于庞大的 IIS 和 Windows 安装的内容现在已缩减为 NuGet 包。这使得框架更加灵活。更改小的 NuGet 依赖项比在 Web 服务器上安装模块更容易。 但是,与通常的情况一样,存在一些问题: 在本地开发计算机上,团队看到一个 NuGet 包文件夹,其中包含 1GB 的依赖项。 如果您的构建服务器位于防火墙后面,则您需要上传每个微小的依赖项——这是一个乏味的过程。 默认情况下,该工具会引入元包,这些元包可能具有无关的依赖项。 元包的一个缺点是,如果您使用的是 Windows,您会看到Linux 和 macOS 运行时作为依赖项包含在内并不常见。然而,如果你想通过构建,这是必要的。有一种方法可以减少依赖足迹,但在企业环境中不太实用。很少有专业人士有时间调整大量微小的依赖项。
|
|