【问题标题】:IIS 7 Classic ASP application running in Integrated mode以集成模式运行的 IIS 7 经典 ASP 应用程序
【发布时间】:2012-04-27 19:43:21
【问题描述】:

我们在集成模式的 IIS 7 上托管了一个 ASP .Net 应用程序。

我们在这个 ASP .Net 应用程序中有一些经典的 ASP 页面。当我尝试从经典 ASP 页面创建帖子并尝试使用 Request.Form("name") 访问发布的数据时,它给了我未指定的错误。请求对象在表单发布时被清除。

如果我将包含经典 asp 页面的文件夹更改为应用程序并将其应用程序池更改为使用经典模式的新应用程序池,一切正常。

我可以在集成模式下托管在 IIS 7 上的 ASP .Net 应用程序中运行经典 ASP 页面吗?

我们将 Sitecore 6.5 用于我们的 Web 应用程序。

【问题讨论】:

    标签: asp.net iis-7 asp-classic sitecore sitecore6


    【解决方案1】:

    我们遇到了类似的问题。我们以集成模式运行应用程序池,并有一个自定义的 http 模块来检查 .net 端的请求。 我们需要为 .asp 扩展跳过 .net 代码中的那一部分,然后一切都恢复正常了。 似乎每当 .net 首先运行并访问请求对象时,它都会以某种方式“锁定”以供以后的模块使用。

    【讨论】:

      【解决方案2】:

      是的,您可以使用集成管道在 IIS7 上运行 ASP Classic。

      您可能必须添加自定义 HTTP 处理程序。看看Kim Hansen的答案。她使用以下代码:

      <add name="ASPClassic" path="*.asp" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="File" requireAccess="Script" />
      

      查看this 资源,了解有关在 IIS7 上运行 ASP Classic 的一些一般提示。

      其他一些需要研究的事情:

      • 默认情况下禁用 32 位应用程序。某些 COM 对象需要启用此功能。可以为每个站点设置此选项
      • 查看 web.config 中的 comPlus entry。特别是 executeInMta 在某些情况下对于经典 ASP 可能很重要。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-29
        • 1970-01-01
        相关资源
        最近更新 更多