我有一个在ASP.NET 4.0下运行的自定义配置部分,我想将更改保存到。涉及的课程是:
这有效:
// This is a test case to ensure the basics work
Queue newQueue = new Queue();
QueueCollection queues = new QueueCollection();
queues.Add(newQueue); // queues.Count is incremented here
这不起作用(并且不会引发错误):
// Read existing QueueConfiguration
Queue newQueue = new Queue();
QueueConfiguration queueConfig = ConfigurationManager.GetSection("Queuing") as QueueConfiguration;
queueConfig.Queues.Add(newQueue); // queues.Count is NOT incremented here
这也不起作用(并且不会抛出错误):
// Load QueueConfiguration from web.config
Queue newQueue = new Queue();
Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
QueueConfiguration queueConfig = config.GetSection("Queuing") as QueueConfiguration;
queueConfig.Queues.Add(newQueue); // queues.Count is NOT incremented here
我的第一个通道是三个配置部分中的一个被标记为只读。但是,当我调试时,IsReadOnly()方法为我的QueueConfiguration和我的QueueCollection实例返回false。
我的QueueCollection类包含此代码段:
public void Add(Queue queue)
{
base.BaseAdd(queue, true);
}
当我单步执行代码时,会到达此行,调用base.BaseAdd,但不会增加Count属性。就好像BaseAdd只是忽略了请求。
有什么建议吗? (我希望我错过了一些明显的东西!)
答案 0 :(得分:0)
在将时间添加到队列后,您是否调用了Config.Save()。
Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
//Do work
config.Save();