Estoy escribiendo una aplicación web de pequeños foros básicos (para divertirme y afilar la sierra vieja), y estoy teniendo un problema con AppSettings.Actualización de AppSettings a través del Controlador MVC de ASP.NET
Mi plan es tener estas configuraciones en su propio archivo (Settings.config), al que otorgaré modificar permisos a la cuenta de usuario del proceso web, y almacenar todas las configuraciones editables en este archivo (por ejemplo, título del foro, descripción, etc.)
Este es mi código:
[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"); } }
... pero el funcionamiento se devuelve el siguiente error:
A configuration file cannot be created for the requested Configuration object.
He intentado conceder el permiso completo a todos los usuarios en el archivo de configuración , sin ningún efecto (actualmente solo me estoy ejecutando bajo Cassini, por lo que el usuario del proceso soy yo quien tiene la propiedad del archivo en cualquier caso).
¿Alguna idea?
Eso es realmente un comportamiento muy interesante del que no he oído hablar. Muchas gracias por explicarlo ya que también estaba un poco despistado en esto. – Venemo
Gracias, eso es muy interesante - ¡Voy a probar esto esta noche! –
Funcionó como un encanto, ¡gracias! –