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
{
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
<?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>
<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>
麻烦指点一下吧,报的错是 字符串没有实例化