6

我的公司拥有十几个网站和独立的数据库(相同的模式)。每个客户都有自己的网站(不同的应用程序池)和数据库。

每个网站都有自己的配置,几个连接字符串,但它们都有相同的配置模式。

cust1.domain.com

cust2.domain.com

cust3.domain.com

出于安全和大量数据的原因,我们希望将所有网站合并为一个(单个应用程序池)并使用隔离的数据库。

设计 DAL 及其配置的最佳实践是什么?如果同时有大量租户,这意味着什么?一个应用程序池可以管理这种情况还是可以以某种方式进行管理?

顺便说一句,我们使用 asp-membership 进行用户身份验证。

在此先感谢,埃迪

4

3 回答 3

0

您可以从多租户数据架构中尝试“具有不同架构的共享数据库”。在您的 DAL 中,您可以选择特定于当前用户的特定模式。这样简单又安全

继续阅读http://msdn.microsoft.com/en-us/library/aa479086.aspx

于 2014-08-13T08:55:48.667 回答
0

使用Application_PostAuthenticateevent inglobal.asax加载正确的数据库,然后关闭连接Application_EndRequest

于 2013-01-09T08:08:52.633 回答
0

一种选择是在成员资格中使用配置文件并存储一条信息,以便您确定他们应该连接到哪个实际数据库。缺点是您需要在用户会话期间存储这条信息,因此可能需要 cookie 或会话变量。

一个站点与多个站点的含义在很大程度上取决于您的环境和应用程序,您目前是否在一个盒子上拥有多个站点,或者您是否有一个网络农场?你知道每个站点的并发用户数,流量吗?性能监视器可以帮助您查看每个站点的繁忙程度,但您可能需要更具侵入性的日志记录来确定并发用户等指标。我发现这个关于 IIS 7 性能的服务器故障问题可能会有所帮助

于 2013-01-09T09:25:47.857 回答