多个子域,但不同的数据库相同ASP.NET网站?
问题描述:
考虑,我想在IIS中创建10个网站,他们每个人指向本地硬盘上的同一个网站,每一个运行相同的代码,但在不同的子域。多个子域,但不同的数据库相同ASP.NET网站?
subdomain1.domain.com,subdomain2.domain.com,...,subdomain10.domain.com
我怎么能在我的web.config文件中添加多个连接字符串和每个连接字符串绑定到不同的子域?
我想这样做,因为每一个网站都会有不同的数据不同的数据库。
答
由于web.config
文件是所有的网站常见的,可以为每个子域添加多个连接字符串这样。
<connectionStrings>
<add connectionString="" name="subdomain1"/>
<add connectionString="" name="subdomain2"/>
</connectionStrings>
然后你可以检查使用
HttpContext.Current.Request.Url.AbsoluteUri
当前的URL,然后使用正确的连接字符串
答
有2种方法ATLEAST做到这一点(?):
- 创建10 IIS站点,每个站点指向它自己的目录,将尽可能多的功能可能在DLL在GAC中。然后你有共享的代码库。但仍有一些个人网站上的数据在磁盘上。
- 创建10 IIS站点,每个站点指向同一个目录。将所有10个连接字符串放在web.config中。在你的代码中有功能为请求选择正确的连接字符串。
实际上是第二个,你可能不需要10个站点。只需让DNS将所有10个站点指向相同的IP即可。
但是,您应该考虑它是否更有价值。将网站自动复制到10个位置的安装脚本可能是最好的方法。