正在阅读:Duwamish深入剖析-配置篇Duwamish深入剖析-配置篇

2009-03-12 23:34 出处:PConline 作者:卢彦/ASPCool 责任编辑:ycx
自定义配置节 在节点之后,我们可以看见以下的XML元素: 配置节信息分为两个主区域:配置节处理程序声明区域和配置节设置区域,这里就是刚才定义的三个section的配置节设置区域,它包含实际的配置设置,其用途说明请参见注释,所有配置信息都必须驻留在 根 XML 标记之间,配置节设置区域位于 区域之后。 配置节处理程序 前面已经介绍了,section里定义了处理配置节的类:Duwamish7.SystemFramework.ApplicationConfiguration和Duwamish7.Common.DuwamishConfiguration,他们分别位于SystemFramework和Common项目中,.net规定,所有能够处理配置节的类必须要实现IConfigurationSectionHandler接口,而IConfigurationSectionHandler接口很简单,只有一个object Create(object parent,object configContext,XmlNode section)方法,这个方法不需要主动调用,它是在ConfigurationSettings.GetConfig这个静态方法的时候自动调用的,也就是说,当你在程序中使用ConfigurationSettings.GetConfig来获取配置节的时候,.net会根据改配置节声明中所定义的类名和路径自动实例化配置节处理类,并调用Create方法。下面是Duwamish的处理类调用流程: 1、在global.asax的Application_OnStart方法里面调用ApplicationConfiguration.OnApplicationStart静态方法,并获得应用程序根的绝对路径。 void Application_OnStart() { ApplicationConfiguration.OnApplicationStart(Context.Server.MapPath( Context.Request.ApplicationPath )); string configPath = Path.Combine(Context.Server.MapPath( Context.Request.ApplicationPath ),"remotingclient.cfg"); if(File.Exists(configPath)) RemotingConfiguration.Configure(configPath); } 2、ApplicationConfiguration.OnApplicationStart静态方法里调用System.Configuration.ConfigurationSettings.GetConfig方法处理配置节: public static void OnApplicationStart(String myAppPath) { appRoot = myAppPath; System.Configuration.ConfigurationSettings.GetConfig("ApplicationConfiguration"); System.Configuration.ConfigurationSettings.GetConfig("DuwamishConfiguration"); System.Configuration.ConfigurationSettings.GetConfig("SourceViewer"); } 大家已经注意到了,Duwamish并没有获取GetConfig返回的值,因为前面已经说过,GetConfig方法会引发配置节处理程序的Create方法,所以,只需要在Create方法中将配置值取出来就行了。
键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品