NET如何从c 获取配置文件件中获取连接字符串

ASP.NET5(MVC6)入门教程
读写数据库连接字符串一.设置配置文件
&configuration&
&!--在configuration下创建一个connectionStrings--&
&connectionStrings&
&!--以类似键值对的形式,设置好名字和连接字符串--&
&add name="连接名" connectionString="连接字符串"/&
&/connectionStrings&
&/configuration&
二.引用程序集
首先添加引用,System.Configuration
然后再调入命名空间,using System.C
或者直接写,然后ctrl + 点 再引用上也是一样的。
三.获取配置文件中的数据
//至于获取配置文件中的数据,就没什么可说的了。
//只注意一点,ConnectionStrings[1]这个索引器,是从1开始的。
//第零个是系统默认提供的一个,咱们获取到了也没的用。
string connStr = ConfigurationManager.ConnectionStrings[1].ConnectionS
阅读(...) 评论()在ASP.NET和Azure的配置中,对于私有配置数据和连接字段的最好的练习 – Scott Hanselman的中文博客
This site uses cookies for analytics, personalized content and ads. By continuing to browse this site, you agree to this use.
【原文发表地址】
【原文发表时间】January 6, '16
一个读者发邮件来询问,一般情况下如何避免意外地检查密码和其他敏感数据进入GitHub或者源码控制。我认为,公平地说,我们都是做过一两次。因为,这是新老开发人员的成人礼。
没开玩笑, 避免检查密码或/和连接字段进入源码控制的最简单的方式就是别让你的源码中出现密码和链接字段。
听起来很谦逊或者说很滑稽,然而并没有,这是真的。你不能检查一个盘里不存在的东西。
也就是说,有时候你只需要把一个文件标注为“ignored”,意味着不在源码控制之下。对于一些涉及到外部配置的系统,看重的可能是带有一堆非敏感配置数据的共享文件.
ASP.NET 4.6 的秘密和连接字符串
先搞清楚,怎么个秘密法是由你决定的。如果确实是密码级的秘密或是像私钥一类的东西。你应该去看一下.我们在这讨论的是关于带有API键的第三方web API中型企业影响的web 应用程序和可以存在于短期接单的连接字段。学聪明点。
ASP.NET 4.6 有像这种名称/值对应的web.XML配置文件:
&appSettings&     
    &add key=&name& value=&someValue& /&
    &add key=&name& value=&someSECRETValue& /&
&/appSettings&
我们不想要秘密在那出现! 相反,把他们移出去像这样:
&appSettings file=&Web.SECRETS.config&&     
    &add key=&name& value=&someValue& /&
&/appSettings&
然后你只要把另一个的appSetting块放到web.secrets.config 文件中他会在运行期间合并
注意:值得指出的是,appSetting技术同样对带有app.config的控制台应用程序适用。
最后,确保添加Web.secrets.config(或者, 最好是,使他成*.secrets这样,并且用一个唯一的扩展名去确认你的敏感配置).
这种外部配置同样适用于&connectionString&块,除非你用了像这样的configSource属性:
&connectionStrings configSource=&secretConnectionStrings.config&&
&/connectionStrings&
Azure中连接字符串和App的秘密
当你将一个web应用程序部署到Azure时(通常这些应用程序是从源代码/GitHub等地方部署的)你绝不能把连接字符串或者应用程序设置放到Web.config文件或者硬编码在文件中.
相反,在Azure中应该经常使用Web应用程序的应用程序设置配置部分。
这些集合的字符串和键值对将会自动透明地提供给你的网站,这样你就不需要更改任何Asp.net的代码。考虑到他们有比web.config更窄的范围,并且系统会自动合并设置。
除此之外,他们将变量视为环境变量,所以你同样可以通过Environment.GetEnvironmentVariable(“APP SETTING_你的值”)来获取。这在任何网页框架中都可以运行,不仅仅是ASP.NET,所以在php中你只需要按照你喜欢的方式getenv(‘APPSETTING_你的值’)来获值。
用于环境变量的数据库连接字符串类型和前缀字符串的如下:
· 如果你选择”Sql Databases”,前缀字符串是“SQLAZURECONNSTR_”
· 如果你选的是“SQL Server”, 前缀字符串是“SQLCONNSTR_”
· 如果你选择的是“MySQL”, 前缀字符串是
“MYSQLCONNSTR_”
· 如果你选择的是“Custom”, 前缀字符串是
“string is “CUSTOMCONNSTR_”
AP.NET 5有关于用户或用户级机密的概念,在这里键/值对确实存在一个文件中,但是该文件不在你的项目文件夹中,它存储在你的计算机操作系统的用户配置文件中。这样一来,这些配置就没有机会被放入源代码管理器中。还有一个机密管理器(它还在测试版本,所以对它的改变也是期望的)在这里你可以名称/值对.
ASP.NET代码中也有非常灵活的范围规则。你可以有一个appSettings,一个特定于环境(开发,测试,暂存,生产)的appSetings,还有用户的机密信息, 当然还有环境变量。所有的一切都是,正如我提及的,也是非常灵活。如果你不喜欢,你可以更改它.
var builder = new ConfigurationBuilder()
    .AddJsonFile(&appsettings.json&)
    .AddJsonFile($&appsettings.{env.EnvironmentName}.json&, optional: true);
if (env.IsDevelopment())
    // For more details on using the user secret store see http://go.microsoft.com/fwlink/?LinkID=532709
    builder.AddUserSecrets();
builder.AddEnvironmentVariables();
Configuration = builder.Build();
因此结论如下:
· 别把隐私信息放在代码中
o 看起来很明显,…
· 避免把隐私信息放在公用的配置文件中.
o 外部化他们并忽略外部话文件,这样它们就不会检入。
· 请考虑使用环境变量或用户级别的配置选项.
o 在开发中将敏感配置从你的项目文件夹中拿出来
我确信我漏掉了一些事情. 你的小窍门是什么呢, 亲爱的读者?
Image Copyright Shea Parikh - used under license from
Archives &(1)ASP.NET中操作SQL数据库(连接字符串的配置及获取)
转载 &更新时间:日 17:32:12 & 作者:
要想在ASP.NET中操作SQL数据库首先需要在WebConfig中配置数据库连接字符串,之后在.cs文件中获取连接字符串,具体的配置及获取方法如下,感兴趣的朋友可以参考下哈
在WebConfig中配置数据库连接字符串,代码如下:
代码如下: &connectionStrings& &add name="ConnectionString" connectionString="user id=用户名;password=密码;initial catalog=数据库名称;data source=服务器名称"/& &/connectionStrings&
然后在Webform_1.aspx.cs里面获取连接字符串,要添加如下引用;
代码如下: using System.C using System.D using System.Data.SqlC
代码如下: SqlC protected void Page_Load(object sender, EventArgs e) { ConnectDB(); } private void ConnectDB() { string ConString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionS con = new SqlConnection(ConString); con.Open(); SqlCommand com = new SqlCommand(); SqlDataR string sqlstr = "select * from item"; com.CommandText = com.Connection = sdr = com.ExecuteReader(); while (sdr.Read()) { Response.Write(sdr["字段名"].ToString()+"&/br&"); } sdr.Close(); sdr = }
这样就可以了,非常简单,初学asp.net ,希望朋友们多指教,感激不尽!
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具.net中获取连接字符串的问题_百度知道
.net中获取连接字符串的问题
ConfigurationSettings.AppSettings[&&].ToString()和configurationManager.connectionString[&&]有什么区别?
我有更好的答案
AppSettings和ConnectionStrings的区别在 .NET Framework 2.0中,ConfigurationManager类新增了两个属性AppSettings和ConnectionStrings专门用来获取配置文件AppSettings和ConnectionStrings节的数据,使用方法如下: using System.C public partial class _Default : System.Web.UI.Page
protected void Page_Load(object sender, EventArgs e)
Label1.Text = ConfigurationManager.ConnectionStrings[&connectionStringsName&].ToString();
Label2.Text = ConfigurationManager.AppSettings[&appSettingsName&].ToString();
} }&connectionStrings&和&appSettings&这个的区别1.&connectionStrings& &connectionStrings& &add name=&SYXTConnectionString& connectionString=&Data Source=LEIKE;Initial Catalog=SYXT;User ID=Password=sa& providerName=&System.Data.SqlClient& /& &/connectionStrings& 2.&appSettings&:&add key=&connectionstring1& value=&data source=192.168.123.201;initial catalog=persist security info=Fuser id=password=KSDChagd2004;packet size=4096&& &/add& 后者是在Framework2.0以后才有的.
采纳率:34%
有区别用下边的方式获取的是
&connectionStrings&
&/connectionStrings&中间的数据库连接字符串.net环境系统默认的是读取
&connectionStrings&
&/connectionStrings&的连接 也就是说
&connectionStrings&
&/connectionStrings&configurationManager.connectionString[&&]这种方式 数据绑定控件可以在视图直接调用&connectionStrings&中的的数据连接但是AppSettings不可以
这两个是写在web.config文件中的不同地方的。你在后台读取的ConfigurationSettings.AppSettings[&&].ToString()和configurationManager.connectionString[&&]是没有区别的,都是一个字符串,只是后者一般指定的是连接字符串,而前者可以是其他的变量。但如果你要在Data控件中使用连接字符串,比如SqlDataSource,则只能使用connectionString字符串。
using Susing System.Collections.Gusing System.Tusing System.Data.SqlCnamespace StuMngInfo{
class ConnData
SqlConnection con = new SqlConnection(&data Source=.;database=user id=pwd=&);
Data Source=.;Initial Catalog=StudentsIUser ID=sa,pwd=
public Boolean CheckName(String name, String pwd)
Boolean reutninfo = ;
String connString = &select * from tblReginInfo where CLoginName='& + name + &' and CLoginPwd ='& + pwd + &'&;
SqlCommand comm = new SqlCommand(connString, con);
con.Open();
SqlDataReader sqlreader = comm.ExecuteReader();
if (sqlreader.Read())
reutninfo =
}catch(SqlException er)
con.Close();
没什么区别吧,只不过在config文件里放的位置不同罢了
其他2条回答
为您推荐:
其他类似问题
字符串的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 c 获取连接字符串 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信