在多个应用程序之间共享 ASP.NET 状态数据库

Mik*_*att 5 asp.net session-state sql-session-state

一组 ASP.NET Web 应用程序共享同一个会话数据库是否更好,还是每个应用程序都应该拥有自己的?

如果没有显着差异,由于更易于维护,最好使用单个数据库。

背景

我的团队有各种各样的 ASP.NET Web 应用程序,它们都是用 Monorail 1.1 或 ASP.NET MVC 1.0 编写的。每个应用程序当前都使用一个专用的会话状态数据库。我正在向该列表中添加一个新站点,并且正在讨论是否应该创建另一个新的会话数据库,或者只是与另一个应用程序共享一个现有的。

wom*_*omp 3

我会在这里投票支持分离。

我认为从长远来看,您不一定会发现将所有内容都放入一个数据库中“更容易维护”。如果每个应用程序都使用相同的表和数据库实例,则您无法在不复制整个数据库的情况下将一个应用程序从池中分离出来。如果一个应用程序像病毒一样传播并需要移动到它自己的服务器集群怎么办?

对于将数据库复制到新实例所需的工作量,您将分离应用程序的关注点,从而更容易单独调试它们,更具可扩展性和可移植性。