.Net Petshop3.0学习笔记(一)——web.config配置学习

        这段时间在研究微软的.net petshop(现在才开始研究,是不是太落后了啊,哈哈,.net 2.0和petshop4.0都发布了),关于它的架构,网上有很多的文章,所以了解起来还是不难的。不过我发现我更关注的是它的技术实现细节,这个应该跟我的基础有关了:(,不过也好,我将我的学习点滴纪录下来,希望能在巩固自己知识的同时,能够对大家有一定的参考作用。
       先从web.config开始吧。 我们先来分析一下它的web.config的配置文件。
       1、  appsetting配置节:这里主要放的是一些数据库连接字符串信息、数据层信息等,不多说了。
       2、  httpruntime配置节:这里的主要作用是在运行时动态的加载子配置节中的程序集。
      

< runtime >
    
< assemblyBinding  xmlns ="urn:schemas-microsoft-com:asm.v1" >
      
< qualifyAssembly  partialName ="PetShop.SQLServerDAL"  fullName ="PetShop.SQLServerDAL,version=3.2.1.0,publicKeyToken=a7987b61c51ca872,culture=neutral"   />
    
assemblyBinding >
    
< assemblyBinding  xmlns ="urn:schemas-microsoft-com:asm.v1" >
      
< qualifyAssembly  partialName ="PetShop.OracleDAL"  fullName ="PetShop.OracleDAL,version=3.2.1.0,publicKeyToken=a7987b61c51ca872,culture=neutral"   />
    
assemblyBinding >
  
runtime >

这里需要说明一下的是,在qualifyAssembly节点内,fullname用来指定从全局程序集缓存中加载指定的程序集,所以这里的PetShop.SQLServerDAL必须是全局程序集。
     3、  后面一部分就不说了,主要是用来实现forms身份验证控制了,可以参考我的 利用HttpModule和forms身份验证,实现角色验证控制。
   

    文章当然不会到这里就结束了,仅仅了解一下petshop的config的配置当然是不行的,下面就来说明一下,一个config文件该怎么写。

    1、各个标记名的命名规则:
   标记名和属性名是 Camel 大小写形式的,这意味着标记名的第一个字符是小写的,任何后面连接单词的第一个字母是大写的。属性值是 Pascal 大小写形式的,这意味着第一个字符是大写的,任何后面连接单词的第一个字母也是大写的。true false 例外,它们总是小写的(摘自msdn,呵呵)。

 

     2、自定义配置节:

    .net中config文件默认继承自machine.config, 大家可以参考一下, 文件保存在路c:\windows\microsoft.net\.framework\v1.*****\config下。除了machine.config中的节点,我们也可以自定义自己的节点,方式如下:

< configSections >        
< sectionGroup  name =”test”>   
            
="setting"  type ="System.Configuration.NameValueFileSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />     
sectionGroup >
configSections >


   照上面的结构,应该添加如下节点:

< test >
   
< settings >
       
< add  key =”id”  value =”000256”/>
   
>
test >

    如果要在程序中读取配置节的值,可以用System.Configuration. ConfigurationSettings.GetConfig来获取,如下所示:
   NameValueCollection  nvc = (NameValueCollection)(System.Configuration.ConfigurationSettings.GetConfig("test\settings"));
   string aa = nvc["id"].ToString();

      3、  自定义配置节中的type:

        刚刚的settings配置节,我用的是系统定义的System.Configuration.NameValueFileSectionHandler,其实也可以根据自己的需要自定义类型,只需要在自己写的类中,继承IConfigurationSectionHandler,实现它的creat方法。

      web.config的研究到这里就先告一段落了,敬请期待偶的下一篇随笔,全局程序集和私有程序集。


 

    
   

 

转载于:https://www.cnblogs.com/zengxi0602/archive/2006/08/25/486344.html

你可能感兴趣的:(.Net Petshop3.0学习笔记(一)——web.config配置学习)