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

2024-05-08

我想将我的 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 代码。您将使用布局而不是母版页。您将使用标签助手而不是服务器控件。您将使用部分组件和视图组件,而不是用户控件。您将使用控制器和视图模型,而不是后台代码。 ETC。

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

另外,为了使转换过程更容易,您可以构建一个针对完整框架的 ASP.NET Core Web 应用程序。这意味着您将可以访问完整框架中除 System.Web 命名空间中的任何内容之外的大多数内容。以完整框架为目标确实意味着您的新网站将仅在 Windows 上运行。但如果你能接受这一点(至少现在),它将使你的转换过程变得更容易。

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

因此,最终,您可能能够轻松地引入数据模型、数据访问代码、业务对象和业务逻辑。但是您必须完全重写 UI 相关代码。这就是我正在经历的旅程,它并不像您想象的那么困难,至少在您开始熟悉 ASP.NET Core 后不会那么困难。去抓他们吧!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以将 ASP.NET ASPX 解决方案迁移到 ASP.NET Core 2.0? 的相关文章