多年来,我一直有一个目标,即从ASP/VBScript转移到“更好”的语言——我的首选是C#,因为我擅长C,但我也会考虑其他语言(包括PHP等,不仅限于DotNet)。
目标是让代码库使用更多功能的语言。我讨厌VBScript中缺乏数据类型,我想要多种不同的“容器对象”——而不仅仅是一个字典对象等等——事实上,我想知道为什么在80年代从Basic转移到C后,然后过了一段时间又转移到了C++,我竟然又“回到”了Basic。
(我可以用VBScript编写容器对象,但我的直觉是它们的操作速度会很慢;我们有一个重要的HTML片段缓存,用于呈现页面,ASP应用程序对象是一个相当笨重的工具!)
我的ASP/VBScript是一个单一的大型应用程序,基本上是一个“引擎”,用于提供Web内容。
它经过多年的开发,现在ASP代码变化很少。(所以我确实需要证明是否有必要将其移动,或者只是永远使用VBScript)
它由MS SQL数据库中的数据驱动。
只有一个.ASP页面(由几个包含文件组成)。
根据查询字符串参数Skin和CMS模板从数据库加载页面,并运行适当的数据库Sprocs来获取数据,然后将其合并到CMS模板中。
页面数据(要使用的方法等)也从数据库中检索出来,以及访问权限等详细信息。
根据我所读到的,这些事情可能会使迁移更容易:
不使用ASP会话——会话cookie用于从DB检索会话数据(因此我可以轻松地与ASPX共享一半会话)
VBScript始终使用OPTION EXPLICIT,因此所有变量都是预定义的。
所有输出都通过Response.Write(实际上,大多数内容都合并到一个变量中,然后输出)。没有HTML和<% server code %>的混合。
我有一些VBScript类,但不多。
我有很多VBScript函数和一些子例程。
我有一个测试套件。它从浏览器捕获屏幕截图,并将其与主映像进行图形比较——因此我有进行回归测试的能力。
我没有资源进行完全重写;在迁移期间需要继续维护现有代码;但是话虽如此,我们99%的工作都是在CMS或SQL Sprocs中完成,因此对ASP代码的更改很少。
我已经了解了微软迁移ASP代码到VB.NET的工具。鉴于我的代码是100%的VBScript,而没有HTML/Script的混合,我希望听取关于这是否会对我有很大或很小的帮助的意见?
目标是让代码库使用更多功能的语言。我讨厌VBScript中缺乏数据类型,我想要多种不同的“容器对象”——而不仅仅是一个字典对象等等——事实上,我想知道为什么在80年代从Basic转移到C后,然后过了一段时间又转移到了C++,我竟然又“回到”了Basic。
(我可以用VBScript编写容器对象,但我的直觉是它们的操作速度会很慢;我们有一个重要的HTML片段缓存,用于呈现页面,ASP应用程序对象是一个相当笨重的工具!)
我的ASP/VBScript是一个单一的大型应用程序,基本上是一个“引擎”,用于提供Web内容。
它经过多年的开发,现在ASP代码变化很少。(所以我确实需要证明是否有必要将其移动,或者只是永远使用VBScript)
它由MS SQL数据库中的数据驱动。
只有一个.ASP页面(由几个包含文件组成)。
根据查询字符串参数Skin和CMS模板从数据库加载页面,并运行适当的数据库Sprocs来获取数据,然后将其合并到CMS模板中。
页面数据(要使用的方法等)也从数据库中检索出来,以及访问权限等详细信息。
根据我所读到的,这些事情可能会使迁移更容易:
不使用ASP会话——会话cookie用于从DB检索会话数据(因此我可以轻松地与ASPX共享一半会话)
VBScript始终使用OPTION EXPLICIT,因此所有变量都是预定义的。
所有输出都通过Response.Write(实际上,大多数内容都合并到一个变量中,然后输出)。没有HTML和<% server code %>的混合。
我有一些VBScript类,但不多。
我有很多VBScript函数和一些子例程。
我有一个测试套件。它从浏览器捕获屏幕截图,并将其与主映像进行图形比较——因此我有进行回归测试的能力。
我没有资源进行完全重写;在迁移期间需要继续维护现有代码;但是话虽如此,我们99%的工作都是在CMS或SQL Sprocs中完成,因此对ASP代码的更改很少。
我已经了解了微软迁移ASP代码到VB.NET的工具。鉴于我的代码是100%的VBScript,而没有HTML/Script的混合,我希望听取关于这是否会对我有很大或很小的帮助的意见?
我很乐意重构使用VBscript的STAYING,以便日后更容易迁移到DotNet(但我需要知道我的目标是什么 :))。例如,我可以将一些/所有函数移动到COM对象中,并且可能可以逐步完成?
谢谢您的帮助。