通过ASP.net,经典ASP有好处吗?
通过创建几百个简单的Web表单,与Classic ASP合作大约两年了,我看不到切换到.net的充分理由。但是,我对.net并不了解,所以我确定我可能会错过一些东西。
我经常在工作中听到的一些观点可以在这里找到:http://www.packtpub.com/article/Classic-ASP(不是我分享所有这些想法,但这是一个很好的起点)
我非常想听听其他人对此事的看法。
解决方案
回答
首先,性能,可伸缩性和框架为Web应用程序的无状态世界提供了更好的基础。
Wikipedia的ASP.Net页面上有关于差异的部分。
回答
对于简单的网站,我实际上更喜欢ASP而不是ASP.NET,尤其是如果我们非常了解HTML。但是,使用ASP很难将业务逻辑从视图中分离出来。我们编写的代码可能难以阅读和维护。
PHP比ASP更好,并且在基本级别上有点相似。如果我们对独立的Web开发堆栈感兴趣(但是学习时间更长),则可以始终使用Rails或者Django。
回答
ASP.NET的一个优点是我们可以选择完全像使用经典ASP一样对网站进行编码,并可以访问.NET框架的丰富内容。我们可以保留现有功能并添加新的ASP.NET功能。他们混合得很好。
不幸的是,被引用的文章的作者对ASP.NET背后的技术并不十分精通,这在他的言论中很明显(甚至可能不是经典的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应用程序所需要的全部。
基本上,它的无知简而言之。
回答
如果我们制作的只是简单的小型网页,那么请执行任何操作。或者更好地学习PHP。我们将获得的大多数答复来自开发Web应用程序的人员,因此,asp.net在功能和可维护性方面比传统asp差强人意。
回答
我有一个词"调试",我们从不希望使用它,但我们总是这样做。在.Net中,如果我们使用的是Visual Studio,与尝试在ASP上调试代码相比,我们将拥有一个出色的调试器。
回答
如果我们回头看旧代码并说:"我在想什么!这真是垃圾,我现在编写代码要好得多!"那么我们已经发展成为一名程序员。
如果这些站点是临时站点(即我们快速构建它,将其用于特定目的和时间,然后将其有效关闭),则以最舒适的方式为我们创建这些站点是完全可以接受的。
如果我们有一长串现在需要(或者希望)移植到旧站点的错误,修复和改进,或者"小型站点"变得越来越大,越来越复杂,这给我们造成了极大的痛苦,那么我们需要退后一步,重新评估我们如何组织和支持这些网站。
我非常同意ASP.NET是一个非常成熟和有效的编程环境。但是,就像任何工具一样,我们需要了解(或者学习)正确的使用方法,因为它不会在一夜之间自动将我们变成"超级程序员"。
打破僵局的一种方法是与老板达成共识,即我们创建的下一个"站点"是在ASP.NET中开发的。向他解释说,这将比我们现在提供站点的时间长很多,因为我们必须"着手" ASP.NET,但是好处是x,y和(锻炼留给读者!)
就我个人而言,我仍处于过渡阶段(并且我从v1开始使用ASP.NET!),因为我已经开发了一个相当健壮的Classic ASP框架,并且对此感到满意。但是,我已经战略性地使用了ASP.NET,并且发现它非常强大,并且只要我们可以在文档中找到它,最终我们就可以编写更少的代码,因为它内置于.net框架中。
我还建议我们不要使用VB.NET,而忍痛使用C#。语言的变化很小,但是可以减少编写站点的机会,就像以前一样。它有助于消除不良习惯,并为我们提供学习新技术的机会。
祝你好运!
回答
为了关注特定的问题(" Classic vs .Net的好处"),我只能想到两件事。Net不会做到:
1)包括。它们只是无法像我们期望的那样在ASP.Net中工作。当然,ASP.Net提供了更好的方法来完成同一件事,但是仍然有些损失,并且可能会使将旧站点迁移到.Net感到痛苦。
2)ASP.Net不会在应用程序的根文件夹上方。我在哪里,我们有一个相当复杂的Intranet,它仍然大部分仍然是经典的ASP,随着事物的更新或者添加新内容,在各处散布着.Net应用程序。能够在文件夹层次结构中将通用代码的一个副本保持得相当高,但是仍然将每个单独的应用程序隔离到自己的VD中,这将是很好的。但这就是源代码管理的目的,所以这没什么大不了的。
对我来说,到目前为止,从Classic ASP和ASP.Net转移到的最大优势是IDE。能够右键单击一个函数调用并选择"转到定义",而不用四处寻找实际实现该功能的文件,真是太好了。节省大量时间。调用函数时的智能感知支持和类型安全也是一个福音。
回答
在将应用程序的"将asp重命名为aspx并进行更改,直到其编译"到asp.net的端口后,我会说即使是.NET中的asp经典样式编程也比asp classic更好。 VS当然会鼓励我们进入成功之门,并带我们走向Web表单和代码隐藏的工作方式,但是该语言具有足够的表达能力,可以复制ASP经典模式(即很多金块/内联代码)代码,跨发布页面等)
我想我听说过有人说过可以用任何语言编写COBOL。对于经典asp来说确实如此。
回答
这里的每个人都提出了有效的观点。
直到三年前,当我切换到.NET 2.0时,我还是一个经典的ASP开发人员。
我回不去了(尽管我仍然必须修复一些经典的ASP网站)。
我确实想念有一个记录集对象,数据转发器非常适合快速显示数据,但是数据集虽然提供了出色的功能,但在"大型"站点的性能方面却令人吃惊。公平地说,我一直在使用传统ASP中的Arrays绕行方式处理数据集。我唯一使用数据集的时间是在我的电子商务网站购物篮中。我很想念rs.movenext,等等。
FlySwat犯了许多开发人员都会犯的最大错误之一。
是的。忘记使用术语应用程序的这种废话。我见过许多伟大的.NET开发人员,他们构建n层OO网站,但是他们对构建网站的独特性没有真正的了解。例如状态,或者他们过度依赖Javascript带来的令人讨厌的血腥问题。这些开发人员中大多数都建立了MS类型的站点,这些站点通常不符合W3C,对跨浏览器不友好且永远不会优雅降级。不,即使后台应用程序仅与IE兼容也不可接受。
.NET还倾向于"简化"简单站点。 .NET在许多方面都是使WinForm开发人员开始构建网站(或者他们喜欢的Web应用程序)的一种方式。问题在于,这带来了一大堆开发人员,他们不必担心状态,标准等问题。
我仍然认为,任何.NET网站都可以在经典ASP中构建,并且对于最终用户来说运行速度更快(页面响应时间)...。
...虽然我对经典的ASP怀有美好的回忆,但是.NET在映像,加密,压缩,轻松的Web服务集成,适当的OO,合适的n层,可扩展性等方面可以做些什么...赋予.NET优势。即使简单的事情,例如简单地在web.config中添加一行代码以告诉它如果用户不接受cookie(如果是经典的ASP的话),就可以将sessionID写入查询字符串(这在传统的ASP中是很痛苦的)。
转到.NET,我们不会后悔,但是一定要花点时间(尤其是如果我们不了解OO(继承,抽象,多态性和封装)。不要开始以经典兼容模式构建.NET网站,这只是一种便宜的方式使用.NET进行操作,最终还是会使用经典的ASP惯例,如果以VBScript为主要开发语言,那么跳转就不会像MS或者其他人所认为的那样容易。
对我来说最重要的是,从我经典的ASP时代开始,我就一直在进行基本的网站应用程序(;-)设计,而这在任何语言之间都不应改变。
回答
我同意这里的所有人,除了那些说跳过网络表单并直接进入MVC的人。这没有帮助。 Webforms对于数据库驱动的应用程序非常有用,这些应用程序可以进行大量的表格显示等。我已经处理了一些非常大的Webforms应用程序,并且运行良好。 MVC适用于更具交互性的" Web 2.0"类型的应用程序。
回答
我们应该仔细研究ASP.NET MVC的5个理由
回答
对我而言,我不得不说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脚本使用。两全其美。
回答
如果我们此时使用经典asp(没有CTO的授权),则需要缩小。或者我们是受虐狂。或者作为撒旦主义者,在这种情况下,我们会希望它会陷入地狱! :p
值得注意的是...对于Web应用程序,请使用WebForms。
对于轻便,快速和肮脏的网站,请使用ASP.NET MVC。
关于ASP的好处是,我们可以使用VB.NET,C#,Eiffel,Boo或者PHP作为语言!对于PHP,请查看Phalanger ...
回答
在这个线程中很少有回答来回答这个问题。我没有采取简单的方法,而是要刺中它:
一些尚未提及的好处(以JScript为中心):
- 我们可以学习整个语言并将其保存在内存中(如果我们使用得足够多的话)-我不认识任何声称了解整个.NET框架的人。这使得编码非常快。
- 弱打字-当快速敲出某些东西时,这可以让我们更快地进行编码,例如,我们是否真的很关心大多数时候
char
和'string'之间的区别? (在此处插入宗教大战) - Eval:这个受到广泛影响的关键字实际上非常强大,可让我们在运行时以非常有趣的方式操纵代码
- 客户端/服务器语言兼容性:JScript与Javascript的相似性意味着我们可以使用与客户端相同的包含文件来进行服务器端验证。
回答
由于我有报酬来创建解决方案而不是编写代码,因此我只喜欢ASP.NET而不是经典ASP。虽然经典的ASP对于很小的简单站点仍然很实用,但是当编写一些更复杂的站点时,ASP.NET仍然具有强大的功能。此外,即使使用ASP.NET,我们仍然可以使用记事本自己编写.aspx文件,包括嵌入式vb或者ccode。 Visual Studio只是提供了许多其他功能,从而消除了我们自己编写更多代码的需要。
而且,正如我说的,我不会因为编写代码而得到报酬。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。