C# 无法在生产服务器上写入web.config的AppSettings

C# 无法在生产服务器上写入web.config的AppSettings,c#,asp.net,file,permissions,web-config,C#,Asp.net,File,Permissions,Web Config,我已经编写了以下代码来更改web.config中AppSettings的值,当我在我的开发机器上测试它时,它运行良好。但是,将页面复制到生产服务器后,更改值不会更新 Configuration myConfig = WebConfigurationManager.OpenWebConfiguration("~"); try { myConfig.AppSettings.Settings["username"].Value = txtUser

我已经编写了以下代码来更改web.config中AppSettings的值,当我在我的开发机器上测试它时,它运行良好。但是,将页面复制到生产服务器后,更改值不会更新

Configuration myConfig = WebConfigurationManager.OpenWebConfiguration("~");
        try
        {
            myConfig.AppSettings.Settings["username"].Value = txtUsername.Text;
            myConfig.AppSettings.Settings["password"].Value = txtPassword.Text;
            myConfig.AppSettings.Settings["senderNum"].Value = txtSMSCenter.Text;
            myConfig.Save(ConfigurationSaveMode.Modified);
            ConfigurationManager.RefreshSection("appSettings");
            lblStatus.Text = "Config updated at: " + DateTime.Now.ToString();
        }
        catch (ConfigurationException ex)
        {
            lblStatus.Text = ex.Message;
        }
我已经允许管理员、网络服务和IIS_IUSR对web.config进行写访问,但仍然不起作用


有什么建议吗?

尝试查看此网站


注意

尝试将应用程序根文件夹的权限添加到
所有人
。如果这不起作用,那就不是权限问题。我认为,从根本上说,你是在滥用web.config文件-a)你是否意识到,如果你将用户密码以明文形式写入web配置文件,那么任何有权访问该文件系统的人都可以看到它?b) 只有一个web.config。如果有多个用户试图使用该站点怎么办?c) web.config不是为在运行时动态更新而设计的-每次更新后,网站都将被回收-只有在需要更改应用程序运行方式时,才应更改它。对于所有用户,请发布错误消息。@AdamRalph Yes。谢谢你的建议,我也知道。我打算稍后加密密码。我不使用它进行多次登录,但用户名和密码将与其他独立的系统(在我的例子中是SMS网关)集成。此外,该密码不会不时更改。@PankajKumar不会抛出任何错误。只有web.config没有更新。