c# winform 下的装载appconfig的section配置节的问题

frank_zu 2009-03-06 06:02:21
一直喜欢theBeerHouse的三层架构,这次碰到一个weinform下的编程项目,自己想继续沿用thebeerhouse的方法:在配置文件中写section,关于系统各个模块,比如
系统包含:
1 用户信息管理(user)
2 订单信息管理(order)
3 客户信息管理(customer)
在配置中自定义配置节<section name="MyProject" Type="Com.MyProject.MyConfigSection,XXX"> (问题1,在web中,都是用 __code来代替XXX,但是在winform中,我不知道该用什么表示,想请教一下高手?)
<MyProject defaultConnectionStringName="MyString">
<user pageSize="10">
<order>
<customer>
</MyProject>
然后在系统代码里构建ConfigurationSection的子类实现程序的基本配置:
namespace Com.MyProject
{
public class MyConfigSection:ConfigurationSection
{
[ConfigurationProperty("defaultConnectionStringName",DefaultValue="MyString")]
public string DefaultConnectionStringName
{
get{return (string)base["defaultConnectionStringName"];}
}
***************************
**** 一些配置元素的章节******
***************************
}
}
问题出现在构建全局环境的Globals类里:
namespace Com.MyProject{
public static class Globals
{
public static readonly MyConfigSection Settings = (MyConfigSection)ConfigurationManager.GetSection("MyProject");
//问题2:这里的 (MyConfigSection)ConfigurationManager.GetSection("MyProject")每次加载的都是null,导致系统无法加载配置
}
}
上述两2个问题:如上,请教高手,100分,可以追加~~
...全文
416 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgke 2009-03-09
  • 打赏
  • 举报
回复
你看下 Com.MyProject.MyConfigSection 在项目的程序集名称 添写上就好了
zgke 2009-03-09
  • 打赏
  • 举报
回复
如果有类全路径 如果要获取类的实例或则TYPE 那还需要一个程序集名称
XXX应该是程序集的全称 .
美丽大道 2009-03-09
  • 打赏
  • 举报
回复
那个XXX 你应该填写你dll的名字
美丽大道 2009-03-09
  • 打赏
  • 举报
回复
200分给我吧 我给你说~ 我不知道你的那个描述节点的类 写的对不对

下面的代码是我写的一个叫CustomDataSection的节点描述的类 用的时候如下

Config:
<configSections>
<section name="MyCustomDataSection" type="CustomDataSection.CustomDataSection,CustomDataSection" />
</configSections>


type 第一个是表示"命名空间.类名,Dll的名字"


具体调用:
Configuration config = null;
ExeConfigurationFileMap FileMap = new ExeConfigurationFileMap();
FileMap.ExeConfigFilename = myOpenFilgDlg.FileName;
config = ConfigurationManager.OpenMappedExeConfiguration(FileMap, ConfigurationUserLevel.None);
CustomDataSection.CustomDataSection CustomsData = config.GetSection("MyCustomDataSection") as CustomDataSection.CustomDataSection;
frank_zu 2009-03-09
  • 打赏
  • 举报
回复
问题没有搞明白,自己再顶
frank_zu 2009-03-09
  • 打赏
  • 举报
回复
解决了,谢谢各位,特别是maddemon大哥
frank_zu 2009-03-08
  • 打赏
  • 举报
回复
自己顶贴
ZJ159 2009-03-08
  • 打赏
  • 举报
回复
frank_zu 2009-03-07
  • 打赏
  • 举报
回复
追加100分~
mjjzg 2009-03-07
  • 打赏
  • 举报
回复
我觉得你还是没理清思路,应该不会出现这样的问题的
frank_zu 2009-03-07
  • 打赏
  • 举报
回复
maddemon的意思是,要把配置类编译成dll?然后表示在<section>的type中?
可以说的具体点吗??
maddemon 2009-03-07
  • 打赏
  • 举报
回复
XXX就是DLL
右键点击项目看这个类在那个DLL里。 第一个问题解决不掉,第二个自然也就是null了
frank_zu 2009-03-07
  • 打赏
  • 举报
回复
谢谢,帮顶!
way106vip 2009-03-07
  • 打赏
  • 举报
回复
问题好难~不知道!帮顶。
frank_zu 2009-03-07
  • 打赏
  • 举报
回复
自己顶一下
frank_zu 2009-03-06
  • 打赏
  • 举报
回复
谢谢wuyq11的回复,我描述不是这个问题。我想要的是section和程序里的类的对应关系的建立
frank_zu 2009-03-06
  • 打赏
  • 举报
回复
谢谢顶贴
readfuture 2009-03-06
  • 打赏
  • 举报
回复
友情帮顶

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧