通过ASP.net,经典ASP有好处吗?

通过ASP.net,经典ASP有好处吗?

Are there benefits to Classic ASP over ASP.net

通过创建几百个简单的Web表单,与Classic ASP合作大约两年了,我看不到切换到.net的充分理由。 但是,我并不精通.net,所以我确定我可能会错过一些事情。

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

我很想听听其他人对此事的看法。


您遗漏了许多东西!与以前认为过时的ASP相比,ASP.NET的生产率,健壮性和可维护性高几个数量级。服务器端控件,第三方控件,母版页,表单身份验证,表单验证,OO模型比鼓励适当的应用程序分区,易于部署,内置调试和跟踪,状态管理更为重要。

您甚至可以选择WebForms或MVC。毫不夸张地说,如果您不彻底调查丢失的内容,您将完全失去理智。


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


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

.NET工具包使我可以使用出色的面向对象语言(C#)进行编程,并具有一个健壮的框架来提供帮助。

VbScript是一种令人难以置信的语言,可用于尝试编写业务应用程序。

但是,如果您所要做的只是一个简单的小型Web窗体,那么请确保使用VbScript。

就您的链接而言,它基本上可以归结为:

  • WaaWaa,我不喜欢Visual Studio
  • WaaWaa,我想像傻瓜一样在生产服务器上编辑生产代码。
  • WaaWaa,我不知道部署单个编译的DLL只是小型站点部署asp.net应用程序所需的全部。

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


为了专注于特定问题(" Classic vs .Net的好处"),我只能想到两件事。Net不会做到:

1)包括。它们只是无法像您期望的那样在ASP.Net中工作。当然,ASP.Net提供了更好的方法来完成同一件事,但是仍然有些损失,并且可能会使将旧站点迁移到.Net感到痛苦。

2)ASP.Net不在应用程序的根文件夹上方。我在哪里,我们有一个相当复杂的Intranet,它仍然大部分仍然是经典的ASP,随着事物的更新或添加新东西,四处散布着.Net应用程序。能够在文件夹层次结构中将一个通用代码的副本保持在较高的水平,但仍将每个单独的应用程序隔离到其自己的VD中,将是很好的。但这就是源代码管理的目的,所以这没什么大不了的。

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


对我而言,我不得不说Classic ASP可以快速开发,易于使用/使用,不是过于复杂并且能够胜任大多数要求。

以JScript / Javascript为主要语言的ASP确实非常有趣。 VBScript浪费了脑力,我认为这使Classic ASP取了不好的名字。加上它的速度较慢,但??有关速度和用户数量的所有文章都是基于10年前的服务器。我们运行一个站点,每天在两台服务器上拥有60,000个用户,而CPU几乎没有闪烁。现代服务器为您提供了更多功能。

近年来,随着Javascript使用,设计和最佳实践的巨大飞跃,ASP JScript编码器可以带来很多好处,使生活更加轻松。我已经将Mootools移植到服务器端,并由此获得了许多很棒的帮助,类模型,出色的事件模型等等。 ASP非常有趣。更新:Mootools现在具有服务器端版本,您可以下载(http://mootools.net/download)。

ASP.net具有超级强大的功能,但在学习曲线上有很大的提升,可以很好地完成工作;如果适合其中之一,则可以使整个网站瘫痪;对我来说,最糟糕的事情似乎是四处走动,以获取最简单的信息。做的事情。

我在使用这两种功能时都充满了乐趣,哪一种最适合您。我在.net中建立了一个很棒的CMS Cacher和Thumbnailer,供我的ASP脚本使用。两全其美。


首先,性能,可伸缩性和框架为Web应用程序的无状态世界提供了更好的基础。

Wikipedia的ASP.Net页面上有关于差异的部分。


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

如果这些站点是临时站点(即您快速构建它,将其用于特定目的和时间,然后将其有效关闭),那么以最舒适的方式为您创建这些站点是完全可以接受的。

如果您有一长串现在需要(或希望)移植到旧站点的错误,修复和改进,或者您的"小型站点"变得越来越大,越来越复杂,这给您造成了极大的痛苦,那么您需要退后一步,重新评估您如何组织和支持这些网站。

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

打破僵局的一种方法是与老板达成共识,即您创建的下一个"站点"是在ASP.NET中开发的。向他解释说,与现在交付站点相比,它需要花费很多时间,因为您必须"绕开" ASP.NET,但是好处是x,y和(锻炼留给读者!)

就我个人而言,我仍处于过渡阶段(并且我从v1开始使用ASP.NET!),因为我已经开发了一个相当健壮的Classic ASP框架,并且对此感到满意。但是,我已经战略性地使用了ASP.NET,并且发现它非常强大,并且只要您可以在文档中找到它,最终您就可以编写更少的代码,因为它内置于.net框架中。

我还建议您不要使用VB.NET,而忍痛使用C#。语言的变化很小,但是可以减少编写站点的机会,就像以前一样。它有助于消除不良习惯,并为您提供学习新技术的机会。

祝好运!


我有一个词"调试"-您永远不需要使用它,但是您总是这样做。在.Net中,如果您使用的是Visual Studio,与尝试在ASP上调试代码相比,您将拥有一个出色的调试器。


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

直到三年前,当我切换到.NET 2.0时,我还是一个经典的ASP开发人员。

我无法回去(即使我仍然必须修复一些经典的ASP网站)。

我确实想念有一个记录集对象,数据转发器非常适合快速显示数据,但是数据集虽然提供了出色的功能,但在"大型"站点的性能上却让人望而却步。公平地讲,我一直在使用传统ASP中的Arrays绕行处理数据集。我唯一使用数据集的时间是我的电子商务网站购物篮。我很想念rs.movenext,等等。

FlySwat犯了许多开发人员都会犯的最大错误之一。

是的,.NET带来的业务逻辑,面向对象等...很棒(可扩展性我不会100%同意,但肯定可以扩展),但是当使用ASP.NET时,您仍在创建一个Web站点。忘记使用"应用程序"这个术语的废话。我见过许多伟大的.NET开发人员,他们构建n层OO网站,但是他们对构建网站的独特性没有真正的了解。例如状态,或者他们过度依赖Javascript带来的令人讨厌的血腥问题。这些开发人员中的大多数都建立了MS类型的网站,这些网站通常不符合W3C的要求,并且不跨浏览器友好,并且从不降级。不,即使后台应用程序仅与IE兼容也不可接受。

.NET还倾向于"简化"简单站点。 .NET在许多方面都是让WinForm开发人员开始构建网站(或他们喜欢的Web应用程序)的一种方式。问题在于,这带来了一大堆开发人员,他们不必担心状态,标准等问题。

我仍然认为,任何.NET网站都可以在经典ASP中构建,并且对于最终用户而言运行速度更快(页面响应时间)。

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

转到.NET,您不会后悔的,但是一定要花点时间(尤其是如果您不了解OO(继承性,抽象性,多态性和封装性)。不要开始以经典兼容模式构建.NET网站,这只是.NET的一种廉价方法,而且您仍然会使用经典的ASP实践,如果VBScript是您的主要开发语言,那么跳转就不会像MS或其他人所认为的那么容易。

对我来说最重要的是,从我经典的ASP时代开始,我就进行了基本的网站应用程序(;-)设计,并且这在任何语言之间都不应改变。


在这个线程中很少有响应回答这个问题。与其采取简单的方法,不如尝试一下:

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

  • 您可以学习整个语言并将其保存在内存中(如果您使用得足够多的话)-我不认识任何声称知道整个.NET框架的人。这使得编码非常快。
  • 弱打字-当快速敲出某些东西时,这可以让您更快地进行编码,例如,您是否真的在意大多数时候charstring之间的区别? (在此处插入宗教大战)
  • Eval:这个受到广泛影响的关键字实际上非常强大,可让您在运行时以非常有趣的方式操纵代码
  • 客户端/服务器语言兼容性:JScript与Javascript的相似性意味着您可以使用与客户端相同的包含文件来进行服务器端验证。

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

不幸的是,被引用的文章的作者对ASP.NET背后的技术并不十分精通,这在他的言论中很明显(甚至可能不是经典的ASP)。他的大部分观点都是无效的或完全错误的。


对于简单的网站,我实际上更喜欢ASP而不是ASP.NET,尤其是如果您对HTML熟悉的话。但是,使用ASP很难将业务逻辑从视图中分离出来。您编写的代码可能难以阅读和维护。

PHP比ASP更好-并且在基本级别上有点相似。如果您对独立的Web开发堆栈感兴趣(但学习时间更长),则可以始终使用Rails或Django。


如果您制作的只是简单的小型网页,那么请执行任何操作。或者更好地学习PHP。您将获得的大多数回复来自开发Web应用程序的人员,尽管如此,asp.net的功能和可维护性却大大超过了传统的asp。


我同意这里的所有人,除了那些说跳过网络表单并直接进入MVC的人。这没有帮助。 Webforms对于数据库驱动的应用程序非常有用,这些应用程序可以进行很多表格显示等。我已经处理了一些非常大的Webforms应用程序,并且运行良好。 MVC适用于更具交互性的" Web 2.0"类型的应用程序。


我一直使用经典ASP,它的运行效果非常漂亮。

我尝试了ASP.net几年了,但是对于大多数网站开发而言,它太复杂了。我的客户也不喜欢它,因为他们不理解它。他们还喜欢知道自己没有被锁定在一个开发人员中。

ASP.NET不断变化,需要巨大/不断的学习曲线才能保持最新。 MS将主要语言切换为C#,这使得过渡变得更加困难。

.net使我的工作效率下降,因为我一直在寻找有关如何做所有事情的教程或示例。

Visual Studio是猪头。

PHP具有丑陋的语法和太多不同的框架,这使得出于开发目的而无法学习。我认为,这仅适合专门人员使用Intranet。

经典ASP已被锁定,并且今天像几年前一样完美运行。有了一些库文件,编写代码就很容易了,因为饼图和示例在Internet上是不受限制的。

vbscript编写正确(大多数人都没有),是清晰易读的高效代码。我将客户端的内容留给了jQuery之类的库,发现我的工作效率提高了很多倍。


在将应用程序的" asp重命名为aspx并进行更改,直到将其编译"到asp.net时,我会说,即使是.NET中的asp经典样式编程也比asp classic更好。 VS当然会鼓励您进入成功之路,并带您进入Web表单和代码隐藏的工作方式,但是该语言具有足够的表达能力,可以复制ASP经典模式(即很多金块/内联代码)代码,跨发布页面等)

我想我听说过有人说过可以用任何语言编写COBOL。对于经典asp来说确实如此。


您应该仔细研究ASP.NET MVC的5个理由


如果此时使用经典asp(没有CTO的授权),则需要缩小。或者您是受虐狂。或者作为撒旦主义者,在这种情况下,您会希望它会陷入地狱! :p

值得注意的是...对于Web应用程序,请使用WebForms。

对于轻便,快速和肮脏的网站,请使用ASP.NET MVC。

关于ASP的好处是您可以使用VB.NET,C#,Eiffel,Boo或PHP作为您的语言!对于PHP,请查看Phalanger ...


由于我有报酬来创建解决方案而不是编写代码,因此我只喜欢ASP.NET而不是经典ASP。尽管经典的ASP对于很小的简单站点仍然很实用,但是当编写一些更复杂的站点时,ASP.NET仍然具有强大的功能。此外,即使使用ASP.NET,您仍然可以使用记事本自己编写.aspx文件,包括嵌入式vb或c#代码。 Visual Studio只是提供了许多其他功能,使您无需自己编写更多代码。
而且,正如我所说,我不会因为编写代码而得到报酬...


推荐阅读