2

我试图在同一台服务器上的 PHP 和 .NET 之间共享会话信息。会话将始终由 .NET 站点创建。根据我的研究,我开始相信会话状态模式“SQLServer”将非常适合此,因为 PHP 可以直接在数据库中检查会话信息。

我的问题是 .NET 应用程序是多年前开发的,并且使用 InProc 会话状态。我没有使用 ASP.NET 的经验。据我所知,我无法测试从 InProc 到 SQLServer 的切换,并且该站点不能关闭!

1) 使用 web.config 将 Session-State 从 InProc 更改为 SQLServer 是否会对旧应用程序造成任何问题?

2)有没有办法对此进行测试,例如将所有文件复制到测试子域?

3) 如果我关闭网站,是否有任何理由无法恢复旧的 web.config 并恢复所有内容。

4) 使用 SQLServer 代替 InProc 会不会在 .NET 端引起任何问题?

5)我还注意到在站点的 IIS 中有一个用于更改会话状态的 UI,使用它或 web.config(或两者)更好吗?

感谢您的时间。

4

1 回答 1

1

回答你上面的问题

  1. 是的,当更改为 SQLServer 时可能会出现问题,因为 .NET 会话不仅包含登录者等,它还可以保留用户会话信息,例如选择的项目和其他对象。(我对您的特定站点了解得不够多,但是当您从 InProc 迁移到 SQL 时,您需要检查任何将存储在 SQL 中的会话对象也是可序列化的,否则会失败)因此进行了大量测试。

  2. 您可以测试,通过将当前在 IIS 中的网站复制到可能是另一台具有 IIS 和 ASP.NET 的机器,并在 web.config 中进行适当的更改,如果您有生产和测试数据库,请将其指向测试,我不会建议使用任何生产数据库。

  3. 是的,请确保备份所有内容,包括数据库(如果有)

  4. 是 见第 (1) 项

  5. 你只需要一个,我只会修改web.config,先备份它。

由于您想实现单点登录,因此还有其他选项可供探索,

于 2013-02-01T00:58:31.473 回答