在 Windows 10 和 Azure 应用服务上运行经典 ASP

本文回顾了如何在Windows10的IIS和Azure App Service中恢复和支持1996年的ASP技术,包括设置步骤和一个简单的测试页面实例。

ASP 是微软的一项古老技术,甚至在 .NET 诞生之前。我在 2003 年使用 ASP 3.0 创建了我的第一个个人博客。如今,很难在 Internet 上找到仍然活跃的 ASP Web 应用程序。但我们仍然可以在今天的 Windows 10 甚至 Azure 中恢复 1996 年的经典 ASP。

一些历史


ASP 和它的后继者 ASP.NET 是完全不同的。ASP 使用 VBScript/JScript(不是 JavaScript)脚本引擎在服务器端执行并返回生成的 HTML。另一方面,ASP.NET,无论是古老的 WebForm 还是现代的 MVC,都需要由 .NET 运行时编译和执行。ASP 的开发工具不必是 Visual Studio,任何文本编辑器都可以胜任。所以我们今天不需要安装专门的开发工具来编写 ASP 代码。VSCode,甚至记事本都可以完成这项工作。

在 Windows 10 上运行 ASP


因为 ASP 太老了,Windows 10 中的 IIS 默认不开启 ASP 支持,所以我们需要手动找到并开启。

运行“ appwiz.cpl ”,在Windows features/Internet Information Services下选择“ ASP ”

转到应用程序池并为名为Classic ASP的 ASP 环境创建一个新的应用程序池

.NET CLR 版本设置为无托管代码。这是因为 ASP 不是由 .NET 执行的,因此不需要存在 CLR。 

托管管道模式 设置为Classic。(可选,但它是使 IIS 与 ASP.NET 管道更加“解耦”的更 ASPish 方式)。

输入此应用程序池的高级设置 

启用 32 位应用程序 设置为True。因为在 ASP 时代,计算机不是 64 位架构,VBScript 引擎只能运行在 32 位。

现在,在本地驱动器中创建一个空文件夹,将其设置为 IIS 下的应用程序或网站。例如:helloasp 指向D:\Workspace\OldSchool

并将其应用程序池设置为使用Classic ASP

准备一个 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 做梦也想不到有一天它会用 Visual Studio Code 编写:

回到 IIS 并浏览我们的网站,您将看到这个 ASP 页面正在运行:

如果没有,请检查“default.asp”是否在 IIS 的默认文档设置中。

在 Azure 应用服务中运行 ASP


Azure App Service 实际上支持 ASP,虽然官方资料中没有提到。但一个前提是,为了运行 ASP,您的 App Service Plan 环境必须是 Windows。

在应用服务设置中输入配置 。

General settings下,将Platform 设置为32 Bit,并将Managed pipeline version 更改为Classic。虽然 ASP 不在 Stack 列表中,但将其保留为 .NET 4.7 不会有任何影响。

如果您愿意,可以将HTTP 版本 更改为使用 2.0。ASP 永远不会看到自己在云 PaaS 系统上运行在 HTTP2 下,有趣!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值