多个子域但不同数据库的相同ASP.NET网站?

时间:2010-10-10 14:16:26

标签: asp.net sql-server

考虑到我想在IIS中创建10个网站,每个网站指向本地硬盘上的同一个网站,每个网站运行相同的代码,但位于不同的子域。

subdomain1.domain.com,subdomain2.domain.com,...,subdomain10.domain.com

如何在web.config文件中添加多个连接字符串并将每个连接字符串绑定到不同的子域?

我想这样做,因为每个网站都有不同的数据库,不同的数据。

2 个答案:

答案 0 :(得分:2)

由于web.config文件对于所有站点都是通用的,因此您可以为每个子域添加多个这样的连接字符串。

<connectionStrings>
        <add connectionString="" name="subdomain1"/>
            <add connectionString="" name="subdomain2"/>
</connectionStrings>

然后您可以使用

检查当前网址
HttpContext.Current.Request.Url.AbsoluteUri

然后使用正确的连接字符串(?)

答案 1 :(得分:1)

至少有两种方法可以做到:

  • 创建10个IIS站点,每个站点都指向它自己的目录,在GAC的dll中放置尽可能多的功能。然后你有共享的代码库。但仍有一些单独的网站数据在磁盘上。
  • 创建10个IIS站点,每个站点指向同一目录。将所有10个连接字符串放在web.config中。在您的代码中具有为请求选择正确连接字符串的功能。

实际上,对于第二个,你可能不需要10个网站。只需让DNS将所有10个站点指向同一个IP。

但是,你应该考虑它是否比它的价值更多。自动将站点复制到10个位置的安装脚本可能是最好的方法。