通过创建几百个简单的 Web 表单,使用经典 ASP 已经有大约 2 年了,我看不出切换到 .net 的充分理由;然而,我不太精通.net,所以我确信我可能会错过一些东西。

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

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

有帮助吗?

解决方案

你错过的不仅仅是一些东西!ASP.NET 的生产力、健壮性和可维护性比老式 ASP 想象的要高出几个数量级。服务器端控件、第三方控件、母版页、表单身份验证、表单验证、OO 模型鼓励适当的应用程序分区、轻松部署、内置调试和跟踪、状态管理。

您甚至可以选择 WebForms 或 MVC。如果您不彻底调查自己错过了什么,那么可以毫不夸张地说,您只是疯了。

其他提示

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

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

.NET Toolkit 允许我使用出色的面向对象语言 (C#) 进行编程,并且有一个强大的框架可以提供帮助。

VbScript 是一种非常适合尝试编写业务应用程序的语言。

但是,如果您所做的只是一个简单的小 Web 表单,那么当然可以使用 VbScript。

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

  • 哇哇,我不喜欢 Visual Studio
  • 哇哇,我想像白痴一样在生产服务器上编辑生产代码。
  • WaaWaa,我不知道部署一个已编译的 DLL 就足以让一个小站点部署一个 ASP.NET 应用程序。

基本上,简而言之,就是无知。

为了关注具体问题(“Classic 与 .Net 的优点”),我能想到的只有两件事 Classic 能做到而 .Net 不会:

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

2) ASP.Net 不会超出应用程序的根文件夹。在我所在的地方,我们有一个相当复杂的 Intranet,它仍然主要是经典的 ASP,随着内容的更新或新内容的添加,到处都有一些 .Net 应用程序。如果能够将通用代码的一份副本保留在文件夹层次结构中相当高的位置,但仍将每个单独的应用程序隔离到其自己的 VD,那就太好了。但是,这就是源代码控制的目的,所以这没什么大不了的。

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

对我来说,我不得不说经典 ASP 开发速度很快,易于使用/上手,不会过于复杂,并且能够满足大多数要求的事情。

以 JScript/Javascript 作为主要语言的 ASP 编码起来真的非常非常有趣。VBScript 是一种脑力浪费,我认为正是这一点给经典 ASP 带来了坏名声。另外,它被认为很慢,但所有关于速度和用户数量的文章都是基于 10 多年的旧服务器。我们在两台服务器上运行一个每天有 60,000 个用户的网站,并且 CPU 几乎不闪烁。现代服务器为您提供了更多的功能。

近年来,随着 Javascript 使用、设计和最佳实践的巨大飞跃,ASP JScript 编码人员可以获得很多好处,让生活变得更加轻松。我已将 Mootools 移植到服务器端,这样我们就可以获得大量精彩的帮助、类模型、出色的事件模型等等。ASP 非常有趣。更新:Mootools 现在有一个服务器端版本,您可以下载(http://mootools.net/download).

ASP.net 非常强大,但是在学习曲线上有很大的进步,当它有一个适合的地方时,可能会让你的整个网站瘫痪,对我来说最糟糕的是似乎真的可以绕着房子去获得最简单的东西事情完成了。

目前,我在使用这两种产品时获得了很多乐趣,使用最适合缺口的一种。我在 .net 中构建了一个很棒的小型 CMS Cacher 和 Thumbnailer,我的 ASP 脚本使用它们。两全其美。

首先,性能、可扩展性以及为 Web 应用程序的无状态世界提供更好基础的框架。

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

如果你回顾你的旧代码并说:“我在想什么!这是垃圾,我现在写代码好多了!”那么你就已经发展成为一名程序员了。

如果这些站点相当临时(即你快速构建它,它被用于特定目的和一段时间,然后它被有效地关闭)然后以对你来说最舒适的方式敲击这些网站是完全可以接受的。

如果您有一长串错误、修复和改进,您现在需要(或希望)向后移植到您的旧网站,或者您的“小网站”变得越来越大、越来越复杂,这给您带来了巨大的痛苦,那么您需要退一步并重新评估您如何构建和支持这些网站。

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

打破僵局的一种方法是与您的老板达成一致,即您创建的下一个“站点”是在 ASP.NET 中开发的。向他解释,这将比您当前交付网站的方式花费更长的时间,因为您必须“了解”ASP.NET,但好处是 x、y 和(留给读者练习!)

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

我还建议您不要使用 VB.NET,而硬着头皮使用 C#。语言的变化相当小,但是您减少了像以前一样编写网站的机会。它有助于改掉坏习惯,并让您有机会学习新技术。

祝你好运!

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

对于简单的网站,我实际上更喜欢 ASP 而不是 ASP。ASP.NET,特别是如果您熟悉 HTML。然而,对于 ASP,将业务逻辑与视图分离很困难;您编写的代码可能难以阅读和维护。

不过,PHP 比 ASP 更好,而且在基本层面上有些相似。如果您对独立的 Web 开发堆栈感兴趣(但学习曲线更长),您可以随时使用 Rails 或 Django。

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

不幸的是引用的作者 文章 从他的言论可以看出,他不太熟悉 ASP.NET 背后的技术(甚至可能不熟悉经典的 ASP)。他的大部分观点都是无效的或者根本就是错误的。

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

我一直是一名传统的 ASP 开发人员,直到 3 年前我转向 .NET 2.0。

我无法回去(尽管我仍然需要修复一些经典的 ASP 站点)。

我确实怀念记录集对象,数据重复器非常适合快速显示数据,但是数据集虽然提供了出色的功能,但在“大”站点上的性能方面却很糟糕。公平地说,我一直在经典 ASP 中使用数组以迂回的方式处理数据集。我唯一一次使用数据集是为了我的电子商务网站购物篮。我确实想念 rs.movenext 等...

FlySwat 犯了我看到很多开发人员犯的最大错误之一。

是的,业务逻辑、面向对象等....NET 带来的功能很棒(我不会 100% 同意可扩展性,但肯定更具可扩展性),但是当使用 ASP.NET 时,您仍然在创建一个网站。忘记使用术语“应用程序”的废话吧。我遇到过许多优秀的 .NET 开发人员,他们构建了 n 层、面向对象的网站,但他们对构建网站的独特性并没有真正的了解;比如状态,或者他们过度依赖 Javascript 的该死的烦人问题。这些开发人员中的大多数构建的 MS 类型网站通常不符合 W3C,跨浏览器不友好,并且永远不会优雅地降级。不,即使后台应用程序仅与 IE 兼容也是不可接受的。

.NET 还倾向于“肥大”简单的站点。.NET 在很多方面都是让 WinForm 开发人员开始构建网站(或者按照他们的喜好,构建 Web 应用程序)的一种方式。问题是,这带来了一群拥有奢侈品的开发人员,而不必担心国家、标准等......

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

...但是,尽管我对经典 ASP 有着美好的回忆,但在映像、加密、压缩、简单的 Web 服务集成、适当的 OO、良好的 n 层、可扩展性等方面,我可以用 .NET 做些什么...给.NET带来了优势。即使是愚蠢的事情,比如简单地在 web.config 中添加一行代码,告诉它在用户不接受 cookie 时将 sessionID 写入查询字符串(这在经典 ASP 中是一个痛苦),也很棒。

转向 .NET,您不会后悔,但一定要给自己一些时间(特别是如果您不了解 OO(继承、抽象、多态性和封装)。不要开始以经典兼容模式构建 .NET 站点,这只是一种廉价的 .NET 方法,而且您最终仍将使用经典的 ASP 实践。如果 VBScript 是您的主要开发语言,那么跳转并不像 MS 或其他人让您相信的那么容易。

对我来说最重要的是,我从经典的 ASP 时代开始就继承了基本的网站应用程序 (;-)) 设计,并且这一点在不同语言之间永远不会改变。

此线程中的响应很少能回答问题。我不会采取简单的方法,而是尝试一下:

一些没有提到的好处(以 JScript 为中心):

  • 您可以学习整个语言 如果您使用得足够多,请记住它 - 我不知道有谁声称了解整个 .NET 框架;这使得编码非常快。
  • 弱类型 - 这可以让你在快速敲击某些东西时更快地编码,例如,你真的关心之间的区别吗? charstring 大多数时候? (此处插入宗教火焰战争)
  • 评估: :这个饱受诟病的关键字实际上非常强大,可以让您在运行时以非常有趣的方式操作代码
  • 客户端/服务器语言兼容性: :JScript 与 Javascript 的相似性意味着您可以使用与客户端验证相同的包含文件来进行服务器端验证。

如果你制作的只是简单的小网页,那么就做什么吧。或者更好地学习 PHP。您将得到的大部分回复都来自 Web 应用程序开发人员,因此 ASP.NET 在功能和可维护性方面比经典的 ASP 更胜一筹。

我同意这里每个人的观点,除了那个说跳过 Web 表单并直接进入 MVC 的人。这没有帮助。Webforms 对于进行大量表格显示等的数据库驱动应用程序非常有用。我曾开发过一些非常大的网络表单应用程序,并且运行良好。MVC 适合交互性更强的“Web 2.0”类型应用程序。

在完成了“将 asp 重命名为 aspx 并更改直到编译”应用程序端口到 asp.net 后,我​​想说即使是经典的 asp 风格 .NET 编程比经典 ASP 更好。VS 当然会鼓励你掉进成功的深渊,并驱使你走向 Web 表单和代码隐藏的做事方式,但该语言的表现力足以复制 ASP 经典的模式(即大量金块/内联)代码、交叉发布页面等)

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

我总是使用 Classic ASP,它工作得很好。

我尝试了 ASP.net 几年,但对于大多数网站开发来说它太复杂了。我的客户也不喜欢它,因为他们无法理解。他们还喜欢知道自己没有被某个开发人员所束缚。

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

使用 .net,我的工作效率变得极其缓慢,因为我一直在寻找如何完成所有操作的教程或示例。

Visual Studio 太慢了。

PHP 的语法很丑陋,并且有太多不同的框架,这使得开发人员无法学习 PHP。在我看来,只适合专门的员工使用内联网。

经典 ASP 已被锁定,并且像几年前一样在今天完美运行。只需几个库文件,代码编写就变得非常简单,并且互联网上的示例是无限的。

vbscript 编写正确,但大多数人都没有这样做,它是干净、可读、高效的代码。我把客户端的东西留给了像 jQuery 这样的库,发现我的工作效率提高了很多倍。

如果此时您使用经典的 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 只是提供了许多附加功能,无需您自己编写更多代码。而且,正如我所说,我不会因为编写代码而获得报酬......

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top