gpt4 book ai didi

asp.net - 将(单体)经典 ASP 迁移到 ASP.Net

转载 作者:行者123 更新时间:2023-12-05 00:42:45 27 4
gpt4 key购买 nike

多年来,我的目标是从 ASP/VBScript 转向“更好”的语言——我的偏好是 C#,因为我有 C 技能——但我也会考虑其他语言(包括 PHP 等,所以不仅仅是 DotNet )

目标是使用一种对我们有更多帮助的语言的代码库。我讨厌 VBScript 中缺少数据类型,我想要许多不同的“容器对象”——而不仅仅是一个字典对象,等等——事实上我想知道为什么,在 80 年代从 Basic 转移到 C,并且然后是 C++ 一段时间后,我设法“回到”到 00 年代的 Basic。

(我可以在 VBScript 中对容器对象进行编程,但我的直觉是它们的运行速度会很慢;我们有大量用于呈现页面的 HTML“片段”缓存,ASP 应用程序对象是一个非常生硬的工具!)

我的 ASP/VBScript 是一个单一的大型应用程序,它基本上是一个提供 Web 内容的“引擎”。

它已经酝酿多年,现在 ASP 代码很少更改。 (所以我确实需要证明完全可以移动它,或者只是“永远”使用 VBScript)

它由 MS SQL 数据库中的数据驱动。

只有一个 .ASP 页(由多个包含文件组成)。

基于查询字符串参数,页面的皮肤和 CMS 模板从数据库中加载,并运行合适的数据库 Sproc 以获取合并到 CMS 模板中的数据。

有关页面的数据(使用方法等)也从数据库中检索,以及访问权限的详细信息等。

从我读过的一些内容来看,这些事情可能会使迁移更容易:

不使用 ASP session - session cookie 用于从数据库检索 session 数据(因此我可以轻松地与 ASPX 共享一个半 session

VBScript 始终使用 OPTION EXPLICIT,因此所有变量都是预定义的。

所有的输出都是通过 Response.Write(实际上大部分内容被合并成一个变量然后输出)。没有 HTML 和 <% 服务器代码 %> 的混合。

我有一些 VBScript 类,但不是很多。

我有很多 VBScript 函数和一些子程序。

我有一个测试套件。这会捕获来自浏览器的屏幕截图并以图形方式将它们与主图像进行比较 - 因此我有能力进行回归测试。

我没有资源进行完全重写;在迁移期间需要继续维护现有代码;但话说回来,我们 99% 的工作都是在 CMS 或 SQL Sprocs 中进行的,因此对 ASP 代码的更改很少。

我已经阅读了 MS 将 ASP 代码迁移到 VB.NET 的实用程序。鉴于我的代码是 100% VBScript 并且没有混合 HTML/Script,我很感激关于这是否对我有很大帮助的意见?

我很乐意重构 STAYING IN VBscript,以便以后更轻松地迁移到 DotNet(但我需要知道我这样做的目标是什么:))。例如,我可以将部分/所有功能移动到 COM 对象,并且可能会逐个进行?

谢谢你的帮助

最佳答案

我有一个大型 ASP 经典内部网,我一直维护到去年,它已经变旧了,但是仍然在 ASP 经典中添加新的部分,因为已经投入了太多的库代码。如果您不经常更改 ASP 代码并且进行了某种形式的测试,那么您已经有了一个很好的设置。 (我不得不承认这是我第一次听说截图方法)。如果一切都从数据库中删除并正常工作。不要打破它。

PHP 会给你同样的变体类型问题,但会给你一个选项和选择的世界,使 ASP 经典看起来像一个 child 的玩具。开箱即用的 PHP 可以完成我需要做的一切。

ASP.net 是一个大框架。正确而充分地理解它并不是一件容易的事,它经常让我感到惊讶。它试图为来自表单环境的开发人员自动做一些事情,当你来自一个非常精确的渲染方法时,就像你听起来一样。我发现自己一直在与这项技术作斗争,直到 ASP.net MVC 出现。它更适合我的想法,因为它是如何工作的,并且按照我的要求去做,仅此而已。 C# 是一种很棒的语言,具有出色的功能,并且 DOT.net 框架可以让您做任何事情,只要您能找到合适的部分。有很多你会发现自己偶尔会写一些已经在框架中完成的东西,只是在完成你自己的实现后才发现它。

实际上迁移可能会导致一些有趣的问题。即使您可以像运行 ASP 经典页面一样运行 ASP.net 页面,您也会失去环境的许多预期优势。话虽如此,我确实做了一些关于将有问题的站点迁移到 ASP.net 的测试,并设法找到了绕过大多数绊脚石的方法,并得出结论,这种迁移实际上是“纯粹的工作”。尽管进行这样的迁移需要大量的工时,但使这项工作变得不可行。

就我个人而言,除非您成功地拥有几个 ASP.net 项目并且了解 asp.net 带来的问题,否则我不会建议进行这样的迁移。

我还没有看到你说的 ASP 到 ASP.net 的转换工具,但很想得到它的链接。

如果您一直使用 VBScript 并且不知道 AX (ASP Xtreme Evolution) 项目 here我强烈建议研究它以获取克服/绕过几个 ASP 经典“限制”以及它提供的功能库的灵感。

关于asp.net - 将(单体)经典 ASP 迁移到 ASP.Net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1724101/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com