ASP.net上的Classic ASP是否有好处

Nip*_*Nip 51 asp.net asp-classic

通过创建几个100个简单的Web表单,与Classic ASP合作了大约2年,我看不出切换到.net的充分理由; 但是,我并不精通.net,所以我确信我可能会遗漏一些东西.

我经常听到的关于工作的一些观点可以在这里找到: http://www.packtpub.com/article/Classic-ASP(不是我分享所有这些想法,但它是一个很好的跳跃点)

我很想知道别人对此事的看法.

rp.*_*rp. 73

你错过了很多东西!与比以往任何时候都考虑过的旧式ASP相比,ASP.NET更具生产力,更强大,更可维护.服务器端控件,第三方控件,母版页,表单身份验证,表单验证,OO模型,而不是鼓励适当的应用程序分区,轻松部署,内置调试和跟踪,状态管理.

您甚至可以选择WebForms或MVC.如果你没有彻底调查你所缺少的东西,那么说你根本就不在乎,这并不是轻描淡写的.

  • 你摆脱了VBSCript!自从我开始使用ASP以来,这是一个梦想!我们有很多功能只是为了做现代语言和框架开箱即用的功能. (3认同)
  • 我并不是故意挑剔,但在.net上选择MVC已经在Monorail上存在了多年 (2认同)
  • "数量级更高效,更强大,更可维护",然后是一些! (2认同)
  • 我期待有一天我们可以在工作中获得所有经典ASP代码. (2认同)

Joh*_*han 53

如果您喜欢ASP,并想转移到ASP.NET,请跳过Webforms并学习MVC.

  • ASP.NET绝对是经典ASP之外的数量级.但是,我做了5年的经典ASP,接下来是5年的ASP.NET,我仍然将其称为宇宙的绝对事实:对于任何中等复杂的应用程序来说,webforms都是糟糕的.ASP.MVC是正确的方法. (19认同)
  • +评论和答案的数百万:ASP.NET webforms是恶魔般的 (3认同)

Fly*_*wat 21

对我来说最大的问题是我创建应用程序,而不是网站...... UI是问题的一小部分,最重要的是编写业务逻辑层,以及各种企业通信组件(使用SOAP连接到SAP?没问题!).

.NET Toolkit允许我使用一种出色的面向对象语言(C#)进行编程,并拥有一个强大的框架来帮助解决问题.

VbScript是一种用来尝试编写业务应用程序的神奇语言.

但是,如果你所做的只是一个简单的小网表,那么请确保使用VbScript.

至于你的链接,它基本上归结为:

  • WaaWaa,我不喜欢Visual Studio
  • WaaWaa,我想在生产服务器上编辑生产代码,就像白痴一样.
  • WaaWaa,我不知道部署单个编译的DLL是一个小站点需要部署asp.net应用程序的全部内容.

基本上,它的无知简而言之.


Joe*_*orn 20

要专注于具体问题("Classic vs .Net的好处"),我只能想到Classic有两件事.Net不会:

1)包括.他们只是不像你期望的那样在ASP.Net中工作.当然,ASP.Net提供了更好的方法来完成同样的事情,但它仍然有点亏损,并且可以使旧网站迁移到.Net是一种痛苦.

2)ASP.Net不会超过应用程序的根文件夹.我在哪里,我们有一个相当复杂的内部网,仍然主要是经典的ASP,随着更新或添加新东西,在这里和那里有一些.Net应用程序.如果能够在文件夹层次结构中保持公共代码的一个副本相当高,但仍然将每个单独的应用程序隔离到它自己的VD,那将是很好的.但是,这就是源控制的用途,所以这不是什么大问题.

对我来说,到目前为止从Classic ASP和ASP.Net转移的最大优势是IDE.很高兴能够右键单击一个函数调用并选择"转到定义",而不必四处寻找实际实现该函数的文件.节省大量时间.调用函数时的intellisense支持和类型安全性也是一个福音.

  • 投票赞成实际回答标题中的问题;) (7认同)

Gre*_*man 11

性能,可伸缩性和框架为一开始就为无状态的Web应用程序世界提供了更好的基础.

维基百科的ASP.Net页面有一个关于差异的部分.


Pet*_*son 11

对我来说,我不得不说经典ASP很快就能开发出来,使用简单,易于使用,不会过于复杂,并且能够解决大多数问题.

使用JScript/Javascript作为主要语言的ASP真的非常非常有趣.VBScript浪费了脑力,我认为它给Classic ASP带来了坏名声.加上它被认为很慢,但所有关于速度和用户数量的文章都基于10年以上的服务器.我们运行一个站点,每天在两台服务器上获得60,000个用户,而CPU几乎没有闪烁.现代服务器为您提供了更多的功能.

随着近年来Javascript使用,设计和最佳实践的巨大飞跃,ASP JScript编码器可以获得很多好东西,让生活更轻松.我已经将Mootools移植到服务器端,并且我们得到了很多精彩的帮助,类模型,优秀的事件模型等等.ASP非常有趣.更新:Mootools现在有一个可以下载的服务器端版本(http://mootools.net/download).

ASP.net是超级强大的,但在学习曲线上有一个很大的优势,可以很好地完成,当它有一个适合的时候可以让你的整个网站失望,对我来说最糟糕的似乎真的绕过房子来获得最简单的做的事情.

我在这一刻使用两者都很有趣,使用哪一种最适合差距.我有一个很棒的CMS Cacher和Thumbnailer内置.net,我的ASP脚本使用它.两全其美.

  • 非常明智的评论.很高兴看到有人对旧​​的和新的开放;) (4认同)

Guy*_*Guy 8

如果你回头看看你的旧代码并说:"我在想什么!这是垃圾,我现在编写的代码要好得多!" 那么你已经发展成为程序员.

如果网站是相当临时的(即你快速建立它,它被用于特定的目的和时间,然后它被有效关闭)然后以最舒适的方式为你敲打这些网站是完全可以接受的.

如果您有一长串的错误,修复和改进,您现在需要(或希望)向您的旧网站移植,或者您的"小网站"变得越来越大,越来越复杂,这会让您感到非常悲伤然后需要退后一步,重新评估您如何构建和支持这些网站.

我非常同意ASP.NET是一个非常成熟和有效的编程环境.但是,像任何工具一样,你需要知道(或学习)使用它的正确方法,因为它不会在一夜之间自动变成"超级程序员".

打破僵局的一种方法是与您的老板达成一致,即您创建的下一个"站点"是在ASP.NET中开发的.向他解释,这将比你目前提供网站的时间长得多,因为你必须"了解"ASP.NET,但好处是x,y和(练习留给读者!)

就个人而言,我还处于过渡阶段(我从v1开始使用ASP.NET!)因为我有一个相当强大的经典ASP框架,我已经开发并且很熟悉.但是,我已经战略性地使用了ASP.NET并且发现它非常强大并且最终编写的代码必须更少,因为.net框架中内置了很多代码,只要您可以在文档中找到它.

我还建议您不要使用VB.NET,并且咬紧牙关使用C#.语言的变化非常小,但是你减少了编写网站的机会与以往完全相同.它有助于打破坏习惯,让您有机会学习新技术.

祝好运!


Guy*_*Guy 6

我有一个词"调试" - 你永远不想使用它,但你总是这样做.在.Net中,如果你使用Visual Studio,那么与尝试在ASP上调试代码相比,你有一个很棒的调试器.

  • Visual Studio中的调试器也适用于ASP,请尝试它. (2认同)

ryw*_*ryw 5

对于简单的站点,我实际上更喜欢ASP与ASP.NET,特别是如果你很了解HTML.但是使用ASP,将业务逻辑从视图中分离是很困难的; 您编写的代码可能难以阅读和维护.

PHP虽然优于ASP,但在基本级别上有点类似.如果您对自包含的Web开发堆栈感兴趣(但学习曲线更长),您可以随时访问Rails或Django.


Jos*_*gle 5

ASP.NET的一个优点是,您可以选择对您的网站进行编码,就像使用传统ASP一样,以及访问.NET框架的丰富功能.您可以保留现有功能并添加新的ASP.NET功能.他们混合得很好.

遗憾的是,参考文章的作者并不十分精通ASP.NET背后的技术,这一点可以从他的评论中看出来(甚至可能不是经典的ASP).他的大多数观点都是无效或完全错误的.


小智 5

这里的每个人都提出了有效的观点.

直到3年前,当我切换到.NET 2.0时,我才是一名经典的ASP开发人员.

我不能回去(尽管我仍然需要修复一些经典的ASP网站).

我确实错过了一个记录集对象,数据中继器非常适合快速显示数据,但数据集虽然提供了很棒的功能,但在"大"网站上的性能却很糟糕.公平地说,我一直在使用经典ASP中的数组以迂回方式进行数据集.我使用数据集的唯一时间是我的电子商务网站篮子.我确实想念rs.movenext等...

FlySwat是我看到许多开发人员犯下的最大错误之一.

是业务逻辑,OO等...... .NET带来的很好(可扩展性我不会100%同意,但绝对更具可扩展性),但在使用ASP.NET时,您仍然在创建一个WEB站点.忘记使用术语"应用程序"的这种无稽之谈.我遇到了许多构建n层,OO站点的优秀.NET开发人员,但他们并没有真正了解构建网站的独特性; 比如状态,或者他们过分依赖Javascript的血腥恼人的问题.这些开发人员中的大多数都构建了MS类型的站点,这些站点通常不符合W3C,不是跨浏览器友好且从不优雅地降级.即使后台应用程序仅与IE兼容,也不是不可接受的.

.NET也倾向于"减肥"简单的网站..NET在很多方面都是让WinForm开发人员开始构建网站(或者他们更喜欢网络应用程序)的一种方式.问题在于,这带来了一大堆开发商,他们不必担心国家,标准等的奢侈品......

我仍然认为任何.NET站点都可以在经典ASP中构建,并为最终用户运行得更快(页面响应时间)....

...虽然我对经典ASP有美好的回忆,但在成像,加密,压缩,简单的Web服务集成,适当的面向对象,体面的n层,可扩展性等方面我可以用.NET做什么......给.NET带来了优势.即使是愚蠢的事情,比如简单地向web.config添加一行代码,告诉它如果用户不接受cookie(这是传统ASP中的痛苦),就将sessionID写入查询字符串.

转移到.NET,你不会后悔,但确实给自己一些时间(特别是如果你不了解OO(继承,抽象,多态和封装).不要开始在经典兼容模式下构建.NET站点,它只是一种廉价的.NET方式,你最终仍然会使用经典的ASP实践.如果VBScript是你的主要开发语言,那么跳跃并不像MS或其他人那么容易让你相信.

对我来说最重要的是,从我的经典ASP时代开始,我已经完成了基本的网站应用程序(;-))设计,这在语言之间永远不会改变.


Red*_*ter 5

这个帖子中的回答很少回答这个问题.我不会采取简单的方法,而是采取措施:

一些未提及的好处(以JScript为中心):

  • 如果你足够使用它,你可以学习整个语言并将它保存在你的记忆中 - 我不认识任何声称知道整个.NET框架的人; 这使得编码非常迅速.
  • 打字很弱 - 这可以让你在快速敲打东西时更快速地编码,例如,你真的关心大部分时间charstring大部分时间之间的区别吗?(在这里插入宗教火焰战争)
  • Eval:这个备受诟病的关键字实际上非常强大,并且允许您以非常有趣的方式在运行时操作代码
  • 客户端/服务器语言兼容性:JScript与Javascript的相似性意味着您可以使用与客户端一样的服务器端验证使用相同的包含文件.