【发布时间】:2013-05-17 23:48:04
【问题描述】:
我正在尝试为管理和版主面板创建自定义设置系统,以更改站点名称、描述等内容。我现在使用的方法是 NameValueCollection 类,它允许我在我的 Web.Config 文件中获取我定义的键的值以显示在它们的适当位置。我的问题是,当涉及到更改这些值时,我得到 Collection is read-only..... 这是 ActionResult 的一个小 sn-p 用于更新值和定义在我的配置中列出。
Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
NameValueCollection settings = new NameValueCollection();
settings = (NameValueCollection)ConfigurationManager.GetSection("settings");
settings.Set("siteName", SiteName);
settings.Set("siteDesc", SiteDesc);
return RedirectToAction("Index");
<section name="settings" type="System.Configuration.NameValueFileSectionHandler, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<settings>
<add key="siteName" value="Gizmo" />
<add key="siteDesc" value="Welcome to a Gizmo Powered Website." />
</settings>
一旦进入 settings.Set();这就是错误开始的地方。无论如何我可以解决这个问题吗?喜欢在我的 Web.Config 中更新键和值的替代方法吗?
【问题讨论】:
-
在你的例子中我看不到你在哪里使用你的
config,所以你可以从这个例子中删除它 -
您是否尝试更改运行代码的同一站点的 web.config?
-
看this post。你可以从中得到一些想法。
-
更改您自己的 web.congig 将使您的应用重新启动:stackoverflow.com/questions/613824/…
-
@giacomelli,如果是这样,有没有办法我可以制作一些自定义配置文件,如 Web.config 来做需要的事情??
标签: c# asp.net-mvc