【问题标题】:How to guide for getting a classic asp application working under IIS 7.0如何获得在 IIS 7.0 下运行的经典 asp 应用程序的指南
【发布时间】:2010-10-12 20:19:30
【问题描述】:

我正在寻找一个非常简单的分步“操作方法”指南,以获取在 IIS 7.0 下运行的经典 asp 应用程序。

如果这有什么不同的话,它是在 64 位 windows server 2008 机器上。

【问题讨论】:

  • 我猜你的意思是 Windows 2008 服务器? :)
  • 您运行的是 32 位还是 64 位 Windows,您是否使用任何第三方组件 - ServerObjects、Persits?
  • 除了使用 SQL Server Express 后端之外,没有什么特别之处。 64 位 Windows 2008...:)

标签: iis iis-7 asp-classic


【解决方案1】:

我们一直在将一些经典 ASP 代码移至 64 位 Windows 2008。以下是我们在此过程中所做或发现的一些事情:

  • 首先托管应用程序 在“经典”管道模式下 应用程序池。一旦一切运行良好,您可以切换到“集成模式”,如果您以后需要利用它提供的功能。

  • 如果您的 ASP 应用程序使用任何 32 位第三方或内部 您需要配置的组件 以 32 位运行的应用程序池 模式。 32 位 DLL 不会加载到 64 位进程中。您可以在 应用程序池的高级设置。将Enable 32-Bit Applications 设置为True

  • 强制详细的错误报告 经典 ASP,打开网站的 ASP“功能”页面,然后展开 Debugging Properties 节点。将Send Errors To Browser 设置为True

  • 如果您的应用程序使用父路径 您需要在 ASP 中进行配置 设置“功能”页面(与 更多)。该设置位于 Behaviour 节点并被命名 Enable Parent Paths。默认设置是 False 与 IIS6 一样。

  • IIS7 中默认的匿名账户 称为IUSR。你可以改变这个 通过打开身份验证 设置网站和编辑的“功能”页面 Anonymous Authentication 设置。

  • 首选为应用程序池和站点匿名帐户使用应用程序池标识:Application Pool Identities

【讨论】:

  • 我一直在寻找需要设置的Anonymous Authentication。除此之外,我已经完成了其他所有操作,但无法理解为什么我的 ASP 应用程序试图以 IUSR 而不是应用程序池标识登录到 SQL Server。
  • 我认为匿名身份验证是一种二进制设置 - 它可以启用或禁用。直到,我查看侧边栏并看到一个编辑选项,它允许我们为匿名身份验证提供更多设置
【解决方案2】:

我知道这是一个 5 年前的主题,但它仍然适用于我们这些延迟迁移/升级旧 ASP 应用程序的人。

这里有一件非常重要的事情,我花了大约 2 个小时来研究。您到底是如何将 ASP 应用程序放入应用程序池中的,您不能将 ASP 页面作为应用程序,它们只是不兼容的技术。

在 DUHH 时刻,我发现有一个分配给整个站点的应用程序池。只需转到“站点”下的站点并选择基本设置并分配一个应用程序池。

其余的都是很好的信息,包括注册您的 DLL,我不知道它是否在这个线程中,而且还使用两个不同的 odbcad32.exe 应用程序使您的 ODBC 连接为 32 位和 64 位。

再次感谢,(晚了 5 年)。

【讨论】:

    【解决方案3】:

    另外请注意,如果您需要注册 32 位 dll,而 IIS 在 32 位模式下运行,您应该使用 \windows\syswow64\regsvr32.exe dllname.dll。

    哦,请确保您没有长时间打开服务器端调试。这将导致 IIS 以单线程模式运行(并使其非常慢)。

    【讨论】:

    • 我最近才发现regsvr32.exe 知道做“正确的事”,因此您实际上不需要指定 32 位或 64 位版本。以为我会分享。
    猜你喜欢
    • 1970-01-01
    • 2012-04-27
    • 1970-01-01
    • 1970-01-01
    • 2011-03-01
    • 2011-02-17
    • 2010-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多