首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Dotnet频道
中国IT教育
Google
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> .NET Framework >> 正文

使用ConfigurationSettings读取配置

  下面分几种情况来看。net中,默认是那个配置文件起作用。

  情况1:

  如果是一个标准的Win独立应用,或者一个标准的WEB独立应用,就不用说了,大家都知道。

  配置文件定义配置信息

  用下面代码,简单读取配置信息。

  using System.Configuration;

  string ww = ConfigurationSettings.AppSettings["SQLConnString"];

  // 或者其他 ConfigurationSettings 类的方法获得配置信息

  情况2:

  如果是一个需要被Win程序调用的DLL组件,

  配置信息放在调用它的Win程序的配置文件(app.config)中,

  调用代码仍然是情况1简单的那两行调用代码。

  情况3:

  如果是一个需要被WEB程序调用的DLL组件,

  配置信息放在调用它的WEB程序的配置文件(web.config)中,

  调用代码仍然是情况1简单的那两行调用代码。

  情况4:如果你编写的是一个独立的Win的服务,

  跟情况1完全一样,

  把配置信息文件放到Win服务项目中。

  Win服务中再用情况1上面的代码直接调用即可。

  情况5:如果是一个组件,被Win服务所调用,

  跟情况2、3完全一样,

  把配置信息文件放到Win服务项目中。

  组件中,再用情况1上面的代码直接调用即可。

  情况6:

  如果你编写的是一个独立的Com+企业应用。并且这个Com+应用激活模式是“库应用程序”,组件将在创建者进程中被激活。

  跟情况 2、3、5 类似,这时候的Com+就可以认为是一个组件。

  把配置信息文件放到调用这个Com+的项目中。

  这个COM+中,用情况1上面的代码直接调用即可。

  分析以上几种情况:

  起作用的配置文件其实是当前应用程序域的配置文件,。net 组件的作用域是调用它的Win程序或者WEB程序或者Win服务等等。组件的配置信息也应该是在这些主程序的配置文件中配置。

  你可以在代码中通过AppDomain.CurrentDomain.SetupInformation.ConfigurationFile

  这个代码,获得当前起作用的配置文件。

  情况7:

  如果你编写的是一个独立的Com+企业应用。并且这个Com+应用激活模式是“服务器应用程序”,组件将在专用服务器进程中被激活。

  即这样的配置 [assembly: ApplicationActivation(ActivationOption.Server) ]

  这时候,麻烦来了,

  我们用 AppDomain.CurrentDomain.SetupInformation.ConfigurationFile 获得的是当前有效配置文件是

  C:\WINDOWS\system32\dllhost.exe.config

  这个文件默认并不存在,我们自己手工创建这个文件,并把配置信息写到这个文件中。

  Debug 程序,我们仍看会看到“未将对象引用设置到对象的实例。”这样的异常产生。

  以上我们得出的结论并不适用这个情况。

  解决方法:

  参看:

  http://dotnet.org.za/armand/archive/2004/05/30/1917.aspx

  http://blogs.msdn.com/florinlazar/archive/2003/12/04/41369.aspx

[1] [2] 下一页

【责编:John】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 社区讨论
 博客论点
 Dotnet频道相关导航