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。 就您的链接而言,它基本上可以归结为:
基本上,它的无知简而言之。 为了专注于特定问题(" 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为中心):
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只是提供了许多其他功能,使您无需自己编写更多代码。 |