从app.config获取数据的最佳方式是什么?
很长一段时间我用:从app.config获取数据的最佳方式是什么?
ConfigurationManager.ConnectionStrings["sqlconnectionstring"].ConnectionString
从app.config文件
<configuration>
<connectionStrings>
<add name="sqlconnectionstring" connectionString="Data Source=ggg;Initial Catalog =DB;User ID=sa;Password=sa" />
</connectionStrings>
</configuration>
最近我发现我canget使用
global::myProj.Properties.Settings.Default.sqlconnectionstring;
-
字符串获取连接字符串
- 有什么区别?
- 我可以通过appSetting访问密钥吗?
- 我怎么不需要导入System.Configuration?
感谢阿萨夫
的global::myProj.Properties.Settings.Default.sqlconnectionstring;
东西是由Visual Studio中的设置设计器生成。
这些设置可以在Properties-> Settings.settings下的解决方案资源管理器中找到,类型安全包装器方法会自动为设置设计器中定义的所有属性生成。
这仅适用于在设置设计器中定义的设置(连接字符串会自动添加到设置设计器中)。
编辑,回答您的具体问题
- 第二个是第一个的生成的包装。
- 不,但是如果您在设置设计器中创建了自己的设置,则它们将存储在另一个名为“applicationSettings”的部分。
- 导入(或完全限定名称在生成的包装类中完成)。
使用global::
只在需要区分特定方法或变量的名称空间时才真正需要。可以发现更多信息here
对于C#来说,使用Properties.Settings.Default
访问配置文件中的属性要容易得多。
我认为您提到的类型global::myProj.Properties.Settings.Default
是由Visual Studio为您生成的,如果您正在为您的项目使用设置。它使用低级别的基础结构来访问app.config。
请注意,名称空间System.Configuration即使在不引用System.configuration.dll时也可用。这是因为几种类型的System.Configuration名称空间驻留在默认引用的其他几个程序集(例如System.dll)中。
ConfigurationManager
驻留在System.configuration.dll中。因此,如果你想使用它,你需要引用该程序集。
如果您需要访问app.config文件中的appSetting部分,我认为您需要坚持ConfigurationManager
。如果您正在创建一个新应用程序,我建议您使用Visual Studio对设置的支持并通过global::myProj.Properties
名称空间中提供的类型访问您的设置。
您可以按'sqlconnectionstring'上的[F12]查看包装是如何实现的。 – 2010-08-18 20:49:00