首页 > 解决方案 > 使用 ASP Classic / JScript 在 IIS 上设置 REST API

问题描述

我需要将现有的 API 作为 REST 公开给外界,出于某些内部原因,我决定使用 IIS8 + ASP Classic + JScript。我成功地为 ASP Classic 设置了 IIS,并使用 JScript 形成了 JSON 响应(使用 HTMLFile 的 hack在这里有很大帮助)。看来我需要为每个公开的资源一个单独的 ASP 页面(JSCript 代码),但我不清楚在访问特定资源时如何设置重定向以到达适当的 ASP,例如

访问 http://server/some-resources/123 应该被重定向到 ASP 'some-resources.asp',而我需要在 JScript 中获取原始 URL,调用后端并响应带有 id 的 some-resource 的内容=123

同样,对于 http://server/other-resources,它应该访问 ASP 'other-resources.asp' 并以其他资源的集合进行响应(可能使用一些分页机制)。所以问题是

标签: restiisasp-classicjscript

解决方案


您应该能够在 IIS 中编写重写规则以将 http://server/resource/123 指向 http://server/resource.asp?id=123。或者,您可以将所有代码放在一个巨大的 ASP 文件中并重定向到 http://server/onegiantaspfile.asp?res=resource&id=123,再次使用重写规则。

我也通过在 404 处理程序中使用魔法来做到这一点,但从长远来看,我发现它很脆弱。它绝对有效,但它有点不标准。尽管如此,当我们将它从服务器移植到服务器以及从 Window Server 版本移植到 Windows Server 版本时,我有一个以这种方式工作了 15 年的 Web 应用程序,只需要一点维护。:-)


推荐阅读