Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
多个子域上的相同ASP.NET网站,但数据库不同?_Asp.net_Sql Server - Fatal编程技术网

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

多个子域上的相同ASP.NET网站,但数据库不同?,asp.net,sql-server,Asp.net,Sql Server,假设我想在IIS中创建10个网站,每个网站指向本地硬盘上的同一个网站,每个网站运行相同的代码,但位于不同的子域上 subdomain1.domain.com,subdomain2.domain.com,…,subdomain10.domain.com 如何在web.config文件中添加多个连接字符串,并将每个连接字符串绑定到不同的子域 我之所以要这样做,是因为每个网站都有一个不同的数据库,其中包含不同的数据。由于web.config文件对所有网站都是通用的,因此您可以为每个子域添加多个这样的连

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

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

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


我之所以要这样做,是因为每个网站都有一个不同的数据库,其中包含不同的数据。

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

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

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

至少有两种方法:

  • 创建10个IIS站点,每个站点指向自己的目录,将尽可能多的功能放在GAC中的dll中。然后您就拥有了共享的代码库。但磁盘上仍然有一些单独的站点数据
  • 创建10个IIS站点,每个站点指向同一目录。将所有10个连接字符串放在web.config中。在代码中,具有为请求选择正确连接字符串的功能
实际上,对于第二个站点,您可能不需要10个站点。只需让DNS将所有10个站点指向同一IP即可

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

HttpContext.Current.Request.Url.AbsoluteUri