c# - 是否可以将 ASP.NET ASPX 解决方案迁移到 ASP.NET Core 2.0?

标签 c# asp.net asp.net-core webforms

我想将我的 asp.net(UI ASPX 页面 WebForms)应用程序迁移到 ASP.NET Core 2。通过一些搜索,我发现 .net core 不支持 aspx。如果这是真的(有人对此有确切的文档吗?)任何人应该如何从纯 asp.net aspx 项目转换为 asp.net core 2.0?

我使用了可移植分析器工具,但只给出每个 .dll 文件并获得更令人困惑的报告是令人困惑的。

如果可能,请提供有效的 Microsoft 文档。

最佳答案

这完全取决于您所说的“迁移”是什么意思。正如在对您的问题的评论中提到的,ASP.NET Core 不支持 Web 表单,因此没有任何方法可以自动将 Web 表单网站转换为 ASP.NET Core 网站。

也就是说,可以进行迁移。我一直在努力为一个非常大的基于 Web 表单的网站做这件事,我想将其转换为 ASP.NET Core。如果您真的想踏上旅程,那么这里的一些信息可能会对您有所帮助。

ASP.NET Core 的总体架构基于 MVC,因此与 ASP.NET Web Forms 相比,它更类似于 ASP.NET MVC。因此,您最终将使用某种 MVC 模式的派生物来重写几乎所有的 UI 代码。您将使用布局代替母版页。您将使用标签助手代替服务器控件。您将使用局部组件和 View 组件代替用户控件。您将使用 Controller 和 View 模型来代替代码隐藏。等等

值得注意的是,仍然有一个 http 上下文对象、请求对象和响应对象,它们与 Web 表单中的类似对象非常相似。这有助于转换。

此外,为了简化转换过程,您可以构建一个以完整框架为目标的 ASP.NET Core Web 应用程序。这意味着除了 System.Web 命名空间中的任何内容之外,您将可以访问在完整框架中使用的大部分内容。针对完整框架确实意味着您的新网站将仅在 Windows 上运行。但是,如果您可以接受(至少目前如此),那么转换过程对您来说会更轻松。

如果在您的旧网站中,您将大量功能分解到类库中,那将使您的生活更轻松。您应该能够将这些类库原封不动地带到新网站,并从 ASP.NET Core 网站引用它们,如果它们不引用 System.Web,它们很可能会正常工作。任何引用 System.Web 的代码都需要修改以使用新的类似对象或 UI 方法。

所以最后,您可以轻松地引入您的数据模型、数据访问代码、业务对象和业务逻辑。但是您将不得不完全重写您的 UI 相关代码。这就是我正在进行的旅程,它并不像您想象的那么难,至少在您一开始就熟悉 ASP.NET Core 后不会。去拿他们!

关于c# - 是否可以将 ASP.NET ASPX 解决方案迁移到 ASP.NET Core 2.0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49358534/

相关文章:

c# - 使用 Asp.NET Core 3.1 框架将文件上传到服务器时如何使用 IFormFile 作为属性?

c# - 如何将配置更改保存回 App.Config

c# - 如何考虑不同的实现需求?

c# - TransactionScope 和 DataContext

asp.net - NuGet 不断使 Visual Studio 2013 崩溃

c# - asp.net 创建控件时出错

asp.net - 模拟的 UserManager 和 roleManager 方法返回 null

c# - "nameof "运算符 ,"expression cannot be used in an argument to nameof"

c# - 绑定(bind)动态资源

asp.net - 您可以将模型属性从 ASP.NET 模型传递到 ReactJS.NET 组件吗?