ASP(没有.NET) 即 Active Server Pages (动态服务器页面)是一项由微软公司在1996年推出的技术,能够在IIS中运行动态网站。也许许多90后及千禧一代程序员并没有听说过它,但很多老程序员曾经用ASP编写了诸如DVBBS论坛等在上古时期就开辟了中国互联网第一片天下的网站。

我有幸在初中时候使用 ASP 3.0 构建了第一版的个人博客,从2003年运行至2007年淘汰,随后便被如今的ASP.NET所取代。

我的第一版ASP个人网站(2003-2007)

如今主流网站开发技术早已难觅ASP的踪迹,然而这并不妨碍我们的情怀。我们来看看如何让这个上古之神在现代化的平台上复活。

一些历史知识

ASP和它的继任者ASP.NET完全不同。ASP使用VBScript/JScript(不是JavaScript)脚本引擎在服务器端执行,并返回生成的HTML。而ASP.NET不管是上古时代的WebForm还是现代的MVC,都需要编译后由.NET运行时执行。ASP的开发工具也并非一定要 Visual Studio,而是任意文本编辑器,当年较常用的是 Edit Plus(那时候还没有notepad++)。因此我们要复活ASP并不需要安装特殊的开发工具,VSCode,甚至notepad++都够。

在 Windows 10 上运行 ASP

由于ASP太古老,Windows 10 的IIS安装并不默认启用ASP的支持,因此我们需要手动找到,并开启它。

运行appwiz.cpl,然后在Windows features的IIS服务中勾选ASP

配置完成后,到IIS的应用程序池里,新建一个专用于ASP环境的应用程序池。

.NET CLR version 设置为 No Managed Code。这是因为ASP不是ASP.NET,不需要CLR去执行任何代码。

Managed pipleline mode 设置为 Classic。进一步脱离IIS与ASP.NET管线的关系。(这部不操作也没事,但是为了尽可能的模拟怀旧环境,也就让它Classic了)

然后进入该应用程序池的 Advanced Settings

Enable 32-Bit Applications 设置为 True。这是由于,在上古时期,ASP还不知道电脑竟然能有64位,VBScript这种脚本引擎只能作为32位程序去运行。

接下来,在本地磁盘新建一个空文件夹,然后配置为IIS下的一个网站或应用程序(例如 helloasp 对应 D:\Workspace\OldSchool)。

并将它的应用程序池设置为 Classic ASP

至此,IIS的设置全部完成。

准备一页测试ASP

在网站根目录文件夹下新建一个 default.asp,内容如下:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<meta http-equiv="X-UA-Compatible" content="ie=edge">

<title>Hello ASP</title>

</head>

<body>

<% Response.Write("I am back!") %>

</body>

</html>

其中 <% Response.Write("I am back!") %> 就是ASP用来输出文本的代码。

ASP的在天之灵领盒饭的时候都没想到今天自己还能被VSCode写一遍:

回到IIS,尝试访问刚才配置的这个网站。应该能看到ASP成功运行:

万一看不到,在URL后手工补全default.asp试试,或者可以检查一下IIS的默认文档设置是否正确:

在 Azure App Service 上跑 ASP

Azure App Service 虽然官方宣传里并没有说它支持ASP,但其实是可以的!但一个前提是,为了运行ASP,你的App Service Plan环境必须是Windows。虽然大家可以去挑战Linux+Docker去跑ASP,但我不希望你们进ICU。

在 App Service 的网站属性中进入 Configuration

General settings 中,将 Platform 改为 32 BitManaged pipeline version 改为 Classic(和之前IIS的设置一样)尽管我们无法在Stack中找到ASP,但保留.NET 4.7不会有任何影响。

如果你喜欢,可以把HTTP Version改成 2.0。ASP的在天之灵死也没想到如今还能上云,还见到了2.0版的HTTP协议。

运行看看,完全没问题:

远古魔力 | 在Windows 10和Azure App Service里跑上世纪的ASP相关推荐

  1. 微软 Azure App Service 漏洞 NotLegit已存在4年,客户源代码被暴露

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 本月初,微软通知相关 Azure 客户称,Azure 云的一个特性 Azure App Service 中存在漏洞,至少从2017年9月起就暴露 ...

  2. 在 Azure App Service 上运行 .NET 6 预览版

    点击上方蓝字关注"汪宇杰博客" 原文:Jeff Martinez 翻译:Edi Wang 导语 .NET 6 是最新的 .NET 版本,它最终将.NET Core,Framewor ...

  3. Azure App Service Plan

    之前使用过Azure Function等Serverless服务,但没有对App Service Plan做深入的了解,今天看了官方文档,针对概念性的内容,跟大家做个总结和分享,希望对大家有帮忙. A ...

  4. 在 Azure App Service 上启用 Application Request Routing

    点击上方蓝字关注"汪宇杰博客" 导语 我们在IIS上经常使用 Application Request Routing (ARR) 模块做反向代理.Azure App Service ...

  5. Azure App Service 如何在第一时间用上最新版 .NET Core

    点击上方关注"汪宇杰博客" ^_^ 导语 微软会经常对 .NET Core 发布更新,通常为安全补丁.这不,今天早上,.NET Core 3.1.5 更新发布了.然而 Azure ...

  6. 提升Azure App Service的几个建议

    本文介绍了6个技巧,这些技巧可以改善Azure App Service托管应用程序的性能.其中一些技巧是你现在就可以进行的配置变更,而其他技巧则可能需要对应用程序进行一些重新设计和重构, 本文的几个技 ...

  7. 【githubshare】基于 C 语言编写的一款 2D 太空射击游戏,已在 Windows 10 和 Ubuntu Linux 16.04 系统上跑通测试

    基于 C 语言编写的一款 2D 太空射击游戏:space-shooter.c,已在 Windows 10 和 Ubuntu Linux 16.04 系统上跑通测试. GitHub:github.com ...

  8. Azure App Service 上的根证书

    点击上方蓝字关注"汪宇杰博客" 原文:Amol Mehrotra 翻译:Edi Wang 导语 App Service 有一个受信任的根证书列表,您不能在 App Service ...

  9. 使用Windows Azure HDInsight Service在云上压缩大数据

    作者信息:本篇文章是由SQL Server ProductManagement组的总经理Eron Kelly所著.这是我们介绍HDInsight Service 5 篇博客中的第1篇. 在过去微软一直 ...

最新文章

  1. 谈谈SaaS创业和企业服务的常识
  2. 鸿蒙系统画饼,任正非说在三年内华为鸿蒙系统即可媲美苹果!真的不是“画饼”?...
  3. deepin安装node,npm
  4. c++中STL实现演讲比赛流程
  5. 映射java是什么_java – 映射,绑定和解析有什么区别?
  6. js中的数据转换、整数、小数保存、四舍五入
  7. 【转载】数据库建模工具
  8. wps计算机里wps云盘图标,我的电脑中的wps网盘图标怎么设置删除
  9. 求多个数的最大公因数和最小公倍数
  10. html5 黑色圆圈,html5使用canvas画空心圆与实心圆_html5教程技巧
  11. ASP版MD5加密函数及用法
  12. cmd中mysql的操作语句_cmd命令行数据库操作语句
  13. 【JZOJ 5776】【NOIP2008模拟】小x游世界树 (树)
  14. 一寸光阴一寸金,寸金难买寸光阴、时间就是生命,浪费时间就是慢性自杀。
  15. zzd 的割草机(Lawnmower)
  16. 超级计算机在日常生活中有哪些有趣的应用
  17. Kubernetes可视化界面及监控安装
  18. excel初级应用案例——杜邦分析仪
  19. Ripple(瑞波)服务器配置示例
  20. HP SureStore 磁带机 - 在 Linux 系统中进行备份

热门文章

  1. 三维数字化仿真技术应用
  2. PS(photoshop)里A4纸张的像素是多大?
  3. 数码相机和中医的故事
  4. Oracle GraalVM 介绍:会当凌绝顶、一览众山小
  5. 一个会对对联的AI项目
  6. php头像获取,[教程] js+php获取qq昵称及头像(转载) - 风信子博客
  7. 手把手教你如何将树莓派网关链接到服务器之第二篇
  8. 使用程序员的电脑是怎样一种体验?网友:被打了,,
  9. MAF: Validation in Require Field
  10. [附源码]JAVA毕业设计深州市特色蜜桃产业电子商务系统(系统+LW)