我创建了一个类,直接映射到web.config的ConfigSection
。我的类定义如下:
public class myConfiguration: ConfigurationSection
{
public myConfiguration()
{
//
// TODO: Add constructor logic here
//
}
[ConfigurationProperty("fileName", IsRequired = true)]
public string FileName
{
get { return this["fileName"] as string; }
}
[ConfigurationProperty("rootNode", IsRequired = true)]
public string RootNode
{
get { return this["rootNode"] as string; }
}
[ConfigurationProperty("childNode", IsRequired = true)]
public string ChildNode
{
get { return this["childNode"] as string; }
}
[ConfigurationProperty("comparableAttributes", IsRequired = true)]
public string ComparableAttributes
{
get
{ return this["comparableAttributes"] as string; }
}
}
我在web.config文件中创建了以下部分:
<configSections>
<section name="myConfigDemo" type="myConfiguration"/>
</configSections>
然后我将这个部分用作:
<myConfigDemo fileName="myXml.xml" rootNode="world" childNode="country" comparableAttributes="id, population">
</myConfigDemo>
现在的问题是如何在运行时分配
fileName = "anotherFile.xml"
?我尝试过。 [ConfigurationProperty("fileName", IsRequired = true)]
public string FileName
{
get { return this["fileName"] as string; }
set {
string str = this["fileName"] as string;
str = value; }
}
但是当我使用上面的代码时,我的Visual Studio会使我的电脑卡顿!我知道当你只使用get
时,该属性是只读的,但是当你使用set
时,我的电脑就会卡顿!!!我该怎么做才能在运行时更改文件名?
appSettings
有关!系统配置,我对自己的配置很感兴趣!据我所知,您可以在运行时修改appSettings
,但如何更改我的配置我不知道!顺便说一句,感谢您的建议! - Chintan