C# 我应该将类库的连接字符串放在哪里,以及如何访问它们?
我有一个4/5项目的解决方案 目前,我的域项目的连接字符串已硬编码在c#文件中 我想把它放在web.config之类的文件里。根据我在这里和其他地方读到的内容,我应该将这些连接字符串存储在调用应用程序的web配置中 如果是,我如何访问它 当我在类库中执行类似操作时:C# 我应该将类库的连接字符串放在哪里,以及如何访问它们?,c#,connection-string,C#,Connection String,我有一个4/5项目的解决方案 目前,我的域项目的连接字符串已硬编码在c#文件中 我想把它放在web.config之类的文件里。根据我在这里和其他地方读到的内容,我应该将这些连接字符串存储在调用应用程序的web配置中 如果是,我如何访问它 当我在类库中执行类似操作时: ConnectionStringSettingsCollection connectionStrings = connectionStringsSection.ConnectionStrings; 找不到类型或命名空间,是
ConnectionStringSettingsCollection connectionStrings =
connectionStringsSection.ConnectionStrings;
找不到类型或命名空间,是否缺少引用或其他内容?在
config
架构中存在连接字符串的现有架构
这在
元素下:
<connectionStrings>
<add name="example" connectionString="..."/>
</connectionStrings>
在类库中定义主应用程序和访问 ConnectionString:使用System.Configuration添加; 添加参考:系统配置
ConfigurationManager.ConnectionStrings["key"]
交替的
System.Configuration.ConfigurationSettings.AppSettings["key"])
您需要在主项目中添加对的引用 然后你可以像这样访问连接字符串
System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;//<- last bit for a string version of the full connection string
System.Configuration.ConfigurationManager.ConnectionString[“MyConnectionString”].ConnectionString// 在代码中使用这个
String sqlDbConn =
ConfigurationManager.ConnectionStrings["ApplicationServices"].ToString();
该名称还应在您的web配置中定义
<connectionStrings>
<add name="ApplicationServices"
connectionString="You database information"
/>
</connectionStrings>
并增加了使用系统配置;命名空间由于某些奇怪的原因(Microsoft,您知道),默认情况下未引用所需的程序集。您必须手动将对系统.Configuration
程序集的引用添加到需要使用它的每个项目中。ConfigurationManager是一个不错的选择,我现在还记得另外两个选择:注册表和二进制文件(使用二进制格式化程序),请选中此项:@AmenAyach-因为OP专门询问了web.config
,注册表和二进制文件不太合适。@Oded好的,我明白我的问题了。谢谢你的帮助help@iKode-您是否在项目中添加了对System.Configuration.dll
的引用?@Oded就是这样,我以为我已经包含了它,因为我的文件中有一个“using System.Configuration”。仍在使用Visual studio/asp.net等。感谢您的帮助。这仅限于当您的连接字符串位于“AppSettings”中时,它才应该位于web.config文件的“ConnectionString”标记中。为什么不使用由ConfigurationManager
公开的内置ConnectionString
部分?自.NET 2.0以来,不鼓励对连接字符串使用AppSettings
。调用ToString()
是多余的。
<connectionStrings>
<add name="ApplicationServices"
connectionString="You database information"
/>
</connectionStrings>