我按照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#region ReadingSettings
public static String ReadSetting(NameValueCollection settings, String key, String defaultValue)

{
try

{
Object setting = settings[key];
return (setting == null) ? defaultValue : (String)setting;
}
catch

{
return defaultValue;
}
}
public static bool ReadSetting(NameValueCollection settings, String key, bool defaultValue)

{
try

{
Object setting = settings[key];
return (setting == null) ? defaultValue : Convert.ToBoolean((String)setting);
}
catch

{
return defaultValue;
}
}
public static int ReadSetting(NameValueCollection settings, String key, int defaultValue)

{
try

{
Object setting = settings[key];
return (setting == null) ? defaultValue : Convert.ToInt32((String)setting);
}
catch

{
return defaultValue;
}
}
public static TraceLevel ReadSetting(NameValueCollection settings, String key, TraceLevel defaultValue)

{
try

{
Object setting = settings[key];
return (setting == null) ? defaultValue : (TraceLevel)Convert.ToInt32((String)setting);
}
catch

{
return defaultValue;
}
}
#endregion

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