我有一个基于Web的应用程序(用C#编写,asp.net)。该应用程序正在被不同的公司使用。因此,必须根据公司更改连接字符串。替换连接字符串的最佳方法是什么?
注意:我不想为每个人生成特定的web.config文件。
答案 0 :(得分:1)
如果你真的不想改变不同公司的web.config
,一种可能性是以格式提供:
Server=DBHOST;Database=myDataBase;Trusted_Connection=True;
并要求每家公司在其hosts file中添加DBHOST
条目。
答案 1 :(得分:1)
如果您为每个公司单独托管您的网站,请使用和更改连接字符串 IS 的正确方法。所有配置信息都可以从一个环境更改为另一个环境。
答案 2 :(得分:0)
您可以给最终用户选项以动态提供连接字符串,如下所示。
<connectionStrings>
<add name="ConnectionNumberOne"
connectionString="Data Source=ds;Initial Catalog=DB;Integrated Security=True"
providerName="System.Data.SqlClient" />
<add name="ConnectionNumberTwo"
connectionString="Data Source=ds2;Initial Catalog=DB2;Integrated Security=True"
providerName="System.Data.SqlClient" />
您可以这样读取连接字符串:
var connectionOne = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionNumberOne"];
var connectionTwo = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionNumberTwo"];
您也可以保存连接字符串:
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.ConnectionStrings.ConnectionStrings["ConnectionNumberOne"].ConnectionString = //CONCATINATE YOUR FIELDS TOGETHER HERE
config.Save(ConfigurationSaveMode.Modified, true);
ConfigurationManager.RefreshSection("connectionStrings");