【发布时间】:2012-01-23 09:56:03
【问题描述】:
我创建了一个类,它直接映射到 web 的 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 使我的电脑挂起时,该属性是只读的!我可以做些什么来更改文件名运行时?
【问题讨论】:
-
一小时内两题同名?您应该编辑原始问题,而不是创建新问题。 stackoverflow.com/questions/8968924/…(如果标题差异很大,请修改标题)
-
我认为它与`appSettings`有关!系统配置,我渴望自己的配置!据我所知,您可以修改
appSettings运行时,但如何更改我自己不知道的配置!顺便感谢您的建议! -
写入 web.config 是个坏主意。每次更改时,网络应用都会重新循环!