在访问同一服务器上的PHP应用程序后,ASP.NET应用程序的会话超时

时间:2009-07-31 19:55:54

标签: php asp.net iis session

我正在使用客户端专有的ASP.NET应用程序,我们将PHP维基添加到同一服务器上的子目录中。 PHP应用程序针对.NET应用程序使用的cookie进行身份验证。一切正常。

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

这两个应用都生成了Cookie,但它们都没有冲突。我删除了PHP应用程序中对cookie进行身份验证的代码,以确保我没有引起PHP身份验证的问题,但问题仍然存在。

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

我的问题是,我正在尝试追踪导致此行为的原因,首先,然后查看纠正它的选项。对于缺乏更多技术细节我很抱歉 - 如上所述,我只能访问客户端的应用程序。任何帮助都将非常感激,如果需要更多信息来帮助排除故障,我很乐意提供我能做的。

2 个答案:

答案 0 :(得分:1)

我在与ASP.NET站点在同一服务器上运行的经典ASP站点遇到了类似的问题。

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

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

希望这有帮助!

答案 1 :(得分:1)

我打电话给原始开发人员来解决这个问题。他通过从基于SQL Server的会话状态切换到“正在处理”来解决它。这似乎照顾了它。