PDA

View Full Version : سوال: مشکل در نداشتن مجوز ویرایش وب کانفیگAccess Web.config' is denied



moferferi
شنبه 30 مهر 1390, 21:53 عصر
سلام.
من با کد زیر میخوام مقادیری را توی وب کانفیگ تغییر بدم
string path = Server.MapPath("~/Web.config");
XmlDocument xDoc = new XmlDocument();
xDoc.Load(path);
XmlNodeList nodeList = xDoc.GetElementsByTagName("appSettings");
XmlNodeList nodeAppSettings = nodeList[0].ChildNodes;
XmlAttributeCollection xmlAttCollection = nodeAppSettings[0].Attributes;
xmlAttCollection[0].InnerXml ="new value"; // for key attribute
xDoc.Save(path);

اما خطای
Access to the path 'C:\Inetpub\wwwroot\mysite\Web.config' is denied.
میده.

توی iis مجوز رایت هم به این پوشه اصلی و فایل کانفیگ دادم ولی فایده نداره.
دوستان در صورت امکان روش رفع این مشکل بر رویiis و هاست واقعی را بهم بگین

moferferi
یک شنبه 01 آبان 1390, 15:24 عصر
کسی نبود؟؟؟؟؟؟؟؟؟؟؟/
یه مشکل عجیب امروز دچار شدم.
دو تا فایل xml توی یه پوشه دارم.هر دوش دقیقا مثل همه
ولی یکیش قایل ویرایشه.اون یکی نه
توی iis هم به پوشه و هم به فایل ها مجوز write و read دادم.

mahboube
یک شنبه 01 آبان 1390, 15:47 عصر
منم قبلا می خواستم فایل app.config رو ویرایش کنم و این خطا روو میداد،من اینطوری حلش کردم،محل نوع باز کردن فایل کانفیگ بود.

ExeConfigurationFileMap configFileMap = new ExeConfigurationFileMap();
configFileMap.ExeConfigFilename = appConfigFile;
System.Configuration.Configuration _config = System.Configuration.ConfigurationManager.OpenMapp edExeConfiguration(configFileMap,
ConfigurationUserLevel.None);
تغییرات
_config.Save(ConfigurationSaveMode.Full);
ConfigurationManager.RefreshSection(_config.Connec tionStrings.SectionInformation.Name);
Properties.Settings.Default.Reload();

moferferi
یک شنبه 01 آبان 1390, 18:01 عصر
فرقی نداره.از مال شما هم خطای Access Web.config' is denied میده.
این مشکل فقط در حالت لوکال هاست اتفاق میافته.در حالت فایل سیستم مشکلی نداره.
فکر کنم مربوط به تنظیمات iis باشه.ولی نمیدون دقیقا باید چی کار کنم

moferferi
یک شنبه 01 آبان 1390, 18:56 عصر
بالاخره پیدا شد.
واسه کسامی که مثل من مشکل دارن جواب را میزارم.
توی iis روی فایل کیلک راست کردم و گزینه add permissions را زدم.درست شد.