我正在写一个基本的小型论坛Web应用程序(为了好玩,并加强了ole的锯齿),并且我在AppSettings方面遇到了一些麻烦。通过ASP.NET MVC控制器更新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下运行,所以过程用户是我在任何情况下拥有该文件的所有者)。
任何想法?
这实际上是一种我从未听说过的非常有趣的行为。 非常感谢您解释它,因为我在这方面也有点无知。 – Venemo 2009-11-22 20:13:42
谢谢,这非常有趣 - 今晚我会说这个! – 2009-11-23 11:46:35
像魅力一样工作 - 谢谢! – 2009-11-23 19:44:13