加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

将(单片)经典ASP迁移到ASP.Net

发布时间:2020-12-16 06:42:20 所属栏目:asp.Net 来源:网络整理
导读:多年来我的目标是将ASP / VBScript转移到“更好”的语言 – 我的偏好是C#,因为我有C技能 – 但我也会考虑其他语言(包括 PHP等,所以不仅仅是DotNet ) 目标是使用一种语言为代码库提供更多功能.我讨厌在VBScript中缺少数据输入,我想要一些不同的“容器对象”
多年来我的目标是将ASP / VBScript转移到“更好”的语言 – 我的偏好是C#,因为我有C技能 – 但我也会考虑其他语言(包括 PHP等,所以不仅仅是DotNet )

目标是使用一种语言为代码库提供更多功能.我讨厌在VBScript中缺少数据输入,我想要一些不同的“容器对象” – 而不仅仅是一个字典对象,等等 – 实际上我想知道为什么,在80年代从Basic转移到C,然后在那之后的一段时间里,我设法将“返回”基本输入到00.

(我可以在VBScript中对容器对象进行编程,但我的直觉是它们的运行速度很慢;我们在页面渲染中使用了大量的HTML“片段”,ASP应用程序对象是一个非常钝的工具!)

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

它已经有很多年了,现在ASP代码很少变化. (所以我确实需要证明移动它,或者只是“永远与VBScript一起生活”)

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

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

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

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

从我读到的一些内容可能会使迁移变得更容易:

不使用ASP会话 – 会话cookie用于从数据库中检索会话数据(因此我可以轻松地与ASPX共享一半的会话

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 classic中仍然会添加新的内容,因为已经投入了太多的库代码.如果您不经常更改ASP代码并进行某种形式的测试,那么您已经有了一个很好的设置. (我不得不承认这是我第一次听说过截图方法).如果一切都是从DataBase驱动并运行的话.不要打破它.

PHP将给你同样的变体类型问题,但会给你一个选项和选择的世界,使ASP经典看起来像一个孩子的玩具. 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经典“限制”以及它提供的功能库.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读