我正在写一个基本的小论坛网络应用程序(为了好玩和锐化'锯'),我在使用AppSettings时遇到了一些麻烦.
我的计划是将这些设置放在他们自己的文件(Settings.config)中,我将向其提供对Web进程用户帐户的修改权限,并将所有可编辑设置存储在此文件中(例如论坛标题,说明等).
这是我的代码:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(FormCollection collection)
{
try
{
var config = WebConfigurationManager.OpenWebConfiguration("~/Web.config");
config.AppSettings.Settings["SiteTitle"].Value = collection["SiteTitle"];
config.AppSettings.Settings["SiteDescription"].Value = collection["SiteDescription"];
config.Save(ConfigurationSaveMode.Minimal, false);
ConfigurationManager.RefreshSection("appSettings");
return RedirectToAction("Index");
}
catch (Exception ex)
{
ModelState.AddModelError("_FORM", ex.Message);
return View("Index");
}
}
...但运行它会返回以下错误:
A configuration file cannot be created for the requested Configuration object.
我已经尝试向所有用户授予对设置文件的完全权限,但没有任何效果(我目前只是在Cassini下运行,所以进程用户是我在任何情况下拥有该文件的所有权).
有任何想法吗?