首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据服务器名称不同的连接字符串

根据服务器名称不同的连接字符串
EN

Stack Overflow用户
提问于 2013-11-29 07:03:18
回答 3查看 478关注 0票数 2

我有一个基于web的应用程序(用C#,asp.net编写)。这款应用正在被不同的公司使用。因此,连接字符串必须根据公司进行更改。替换连接字符串的最佳方式是什么?

注意:我不想为每个人生成特定的web.config文件。

EN

回答 3

Stack Overflow用户

发布于 2013-11-29 07:08:13

如果您确实不想为不同的公司更改web.config,一种可能是以以下格式提供它:

代码语言:javascript
复制
Server=DBHOST;Database=myDataBase;Trusted_Connection=True;

并要求每家公司在其hosts file中添加DBHOST条目。

票数 1
EN

Stack Overflow用户

发布于 2013-11-29 07:13:28

如果您分别为这些公司托管您的网站,则使用和更改连接字符串是正确的方式。所有配置信息都在那里,以便从一个环境更改到另一个环境。

票数 1
EN

Stack Overflow用户

发布于 2013-11-29 13:52:08

您可以向最终用户提供动态提供连接字符串的选项,如下所示。

代码语言:javascript
复制
<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" />

您可以这样读取连接字符串:

代码语言:javascript
复制
var connectionOne = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionNumberOne"];
var connectionTwo = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionNumberTwo"];

您还可以保存连接字符串:

代码语言:javascript
复制
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.ConnectionStrings.ConnectionStrings["ConnectionNumberOne"].ConnectionString =        //CONCATINATE YOUR FIELDS TOGETHER HERE
config.Save(ConfigurationSaveMode.Modified, true);
ConfigurationManager.RefreshSection("connectionStrings"); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20275960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档