asp.net动态修改web.config文件中connectionstringsettings节点时出错-- "该配置是只读的";
代码如下:
=================================================================
    protected void Page_Load(object sender, EventArgs e)
    {
        SqlConnectionStringBuilder ssb = new SqlConnectionStringBuilder();
        ssb.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\test__.dbf;";
        ConfigurationManager.ConnectionStrings["xzy"].ConnectionString = ssb.ConnectionString;        
    }
===================================================================
web.config连接字符串节点代码:
  <connectionStrings>
    <add name="xzy" connectionString="Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\test__.dbf;" providerName="System.Data.SqlClient"/>
  </connectionStrings>运行后出错:
===================================================================该配置是只读的。 异常详细信息: System.Configuration.ConfigurationErrorsException: 该配置是只读的。源错误: 
行 28:         SqlConnectionStringBuilder ssb = new SqlConnectionStringBuilder();
行 29:         ssb.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\test__.dbf;";
行 30:         ConfigurationManager.ConnectionStrings["xzy"].ConnectionString = ssb.ConnectionString;
行 31:         
行 32:     }
 知道分太少了,但还请赐教!

解决方案 »

  1.   


    动态修改的原因很简单,想研究下ConfigurationManager类呀~ 呵~~
      

  2.   

    Config文件本来就不是用来修改的,是为了保证安全性
    你可以把Config文件当做xml文件,用XmlDocument类进行读取、写入
      

  3.   

    你的Settings.Designer.cs文件里connectionstringsettings只有get方法,没有set方法吧,加一个试试
      

  4.   

    這個情況最可能發生在第一次執行 .Net framework 2.0 ,原因不明,但底下的做法大致可以解決此問題:1.首先開啟「命令窗口」,並切換目錄到 cd C:\Windows\Microsoft.Net\Framework\
    2.在命令行執行 "net stop w3svc" 終止 w3svc 服務
    3.切換到下层目錄 cd C:\Windows\Microsoft.Net\Framework\v2.0.50727\
    4.執行 "aspnet_regiis.exe -ua" 卸载 .Net 
    5.重新安裝 .Net 到 IIS 中  执行 "aspnet_regiis.exe -i" 
    6.切換目錄到 cd C:\Windows\Microsoft.Net\Framework\
    7.重新启動 w3svc   执行 "net start w3svc".
      

  5.   


    Settings.Designer.cs这个文件如何添加? 我现在项目里没有这个文件~~