IConfigurationSectionHandler的问题

我按照Duwamish7的DuwamishConfiguration和ApplicationConfiguration自己写了个一样的配置类,怎么不读不出配置文件(web.config)里面的东西啊,web.config和我自己写的那个类是照着Duwamish7写的继承了IConfigurationSectionHandler接口

类如下:

public class MCConfiguration : IConfigurationSectionHandler
 
{
  
  
private const string DATAACCESS_CONNECTIONSTRING = "ChintMC.DataAccess.ConnectionString";
  
private const string DATAACCESS_OLEDBDATASOURCE  = "ChintMC.DataAccess.OleDbdataSource";
  
  
private static String dbConnectionString;
  
private static String dbOleDbdataSource;
  
  
private const String DATAACCESS_CONNECTIONSTRING_DEFAULT = "server=LM;User ID=sa;Password=;database=MC_DB;Connection Reset=FALSE";
  
private const String DATAACCESS_OLEDBDATASOURCE_DEFAULT  = "Provider=SQLOLEDB ;Server=192.168.207.181;Address=192.168.207.181,1433;Database=MC_DB;Uid=sa;Pwd=;";
  
  
public Object Create(Object parent, object configContext, XmlNode section)
  
{
   NameValueCollection settings;
            
   
try
   
{
    NameValueSectionHandler baseHandler 
= new NameValueSectionHandler();
    settings 
= (NameValueCollection)baseHandler.Create(parent, configContext, section);
   }

   
catch
   
{
    settings 
= null;
   }

            
   
if ( settings == null )
   
{
    dbConnectionString 
= DATAACCESS_CONNECTIONSTRING_DEFAULT;
    dbOleDbdataSource 
= DATAACCESS_OLEDBDATASOURCE_DEFAULT;
   }

   
else
   
{
    dbConnectionString 
= ReadSetting(settings, DATAACCESS_CONNECTIONSTRING, DATAACCESS_CONNECTIONSTRING_DEFAULT);
    dbOleDbdataSource 
= ReadSetting(settings, DATAACCESS_OLEDBDATASOURCE, DATAACCESS_OLEDBDATASOURCE_DEFAULT);
   }

            
   
return settings;
  }


 
  
public static String ConnectionString
  
{
   
get
   
{
    
return dbConnectionString;
   }

  }


  
  
public static String OleDbdataSource
  
{
   
get
   
{
    
return dbOleDbdataSource;
   }

  }

    

  
ReadingSettings
web.config如下:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  
<configSections>
 
<section name="MCConfiguration" type="ChintMC.Common.MCConfiguration, ChintMC.Common" />
  
</configSections>
  
<system.web>
    
<compilation 
         
defaultLanguage="c#"
         debug
="true"
    
/>
    
<customErrors 
    
mode="RemoteOnly" 
    
/> 
    
    
<authentication mode="Forms" /> 
    
    
<trace
        
enabled="false"
        requestLimit
="10"
        pageOutput
="false"
        traceMode
="SortByTime"
  localOnly
="true"
    
/>

    
<sessionState 
            
mode="InProc"
            stateConnectionString
="tcpip=127.0.0.1:42424"
            sqlConnectionString
="data source=127.0.0.1;user id=sa;password="
            cookieless
="false" 
            timeout
="20" 
    
/>

    
<globalization 
            
requestEncoding="utf-8" 
            responseEncoding
="utf-8" 
   
/>
   
 
</system.web>
 
<MCConfiguration>
 
<add key="ChintMC.DataAccess.OleDbdataSource" value="Provider=SQLOLEDB ;Server=192.168.207.181;Address=192.168.207.181,1433;Database=MC_DB;Uid=sa;Pwd=;" />
 
<add key="ChintMC.DataAccess.ConnectionString" value="server=LM;User ID=sa;Password=;database=MC_DB;Connection Reset=FALSE" />
 
</MCConfiguration>

</configuration>

麻烦指点一下吧,报的错是 字符串没有实例化
posted @ 2004-08-03 09:09  Evernory  阅读(2798)  评论(2编辑  收藏  举报