【问题标题】:Session timing out on ASP.NET app after visiting PHP app on same server访问同一服务器上的 PHP 应用程序后,ASP.NET 应用程序上的会话超时
【发布时间】:2009-07-31 19:55:54
【问题描述】:

我正在使用客户的专有 ASP.NET 应用程序,我们将 PHP wiki 添加到同一服务器上的子目录中。 PHP 应用程序根据 .NET 应用程序使用的 cookie 进行身份验证。这一切都很好。

当您登录 .NET 应用程序并访问 PHP 应用程序 (Dokuwiki),然后访问 .NET 应用程序上的任何页面时,它会报告会话已过期并要求您重新登录。

这两个应用程序都会生成 cookie,但它们都不会在名称上发生冲突。我删除了针对 cookie 进行身份验证的 PHP 应用程序中的代码,以确保我没有导致 PHP 身份验证问题,但问题仍然存在。

除了一些前端的东西,我无法控制 ASP.NET 后端,但我确实在一个文件夹中创建了一个杂散的 .ASPX 页面,如果用户访问它,它会成功强制进行身份验证。我在纯文本编辑器中创建了这个页面,而不是在 Visual Studio 中,所以它没有在文件后面生成任何代码。如果您在访问 PHP 应用程序后访问此页面,它不会报告会话已过期。

我的问题是,我首先试图找出导致这种行为的原因,然后寻找纠正它的选项。对于缺乏更多技术细节,我深表歉意——如前所述,我只能有限地访问客户的应用程序。任何帮助将不胜感激,如果需要更多信息来帮助解决问题,我很乐意提供我能提供的。

【问题讨论】:

    标签: php asp.net iis session


    【解决方案1】:

    在与 ASP.NET 网站在同一台服务器上运行的经典 ASP 网站上,我也遇到过类似的问题。

    我通常可以通过在 IIS 下创建 2 个应用程序池来解决此问题:一个用于 ASP 站点,一个用于 ASP.NET 站点。

    您是否可以访问服务器的 IIS 管理器,或者您可以联系可以访问的人吗?如果是这样,请创建 2 个单独的应用程序池:一个用于 PHP 站点,一个用于 ASP.NET 站点。然后将每个站点移动到相应的应用程序池中。如果可以的话,重新启动 IIS,然后看看是否有任何变化。

    希望这会有所帮助!

    【讨论】:

      【解决方案2】:

      我请来了原始开发人员来解决这个问题。他通过从基于 SQL Server 的会话状态切换到“进行中”来解决这个问题。这似乎已经解决了它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多