2012-04-04 35 views
1

美好的一天!我想問一下,如果你知道如何修改web.config。其位於不同的文件夾..我試着用這種方法,不幸的是我沒有工作..修改web.config的數據庫連接字符串..?

// set Path to your config file 
System.Configuration.ConfigurationFileMap fileMap = new ConfigurationFileMap(sWebConfig); 
// open web.config 
System.Configuration.Configuration configuration = System.Configuration.ConfigurationManager.OpenMappedMachineConfiguration(fileMap); 
// display message 
Console.WriteLine("Updating wizardConnection string.. Please wait for a few minutes.."); 
// fetch WizardConnection database connection string 
var Wizardsection = (ConnectionStringsSection)configuration.GetSection("WizardConnection"); 
// assign new value to wizardConnection.. Please make sure you have the correct database server. Just update server location, if need 
Wizardsection.ConnectionStrings["WizardConnection"].ConnectionString = string.Format(@"server={0};database={1};integrated security=SSPI", sDatabaseServer, sDatabase); 
configuration.Save(); 

希望聽到從您的到來.​​.

問候,

鏈接更新web.config中的

+1

我不認爲在web.config是從應用程序寫入。 – 2012-04-04 07:46:58

回答

0

相反,你可以使用不同的生成配置不同的web.config文件。例如,您可以設置一個新的構建配置,即「Staging」並將其配置爲使用修改後的配置文件。 看看Web.Config transformation

0

實際上你正在做的事情會改變配置文件,它被複制到包含二進制文件(調試,發行版或任何自定義編譯器配置)的文件夾中。這足以更改應用程序的連接設置。但是,如果你想修改web.config文件,它將只是修改一個外部文件,你將需要文件操作。

0

您應該使用webconfigurationmanager打開您的webconfig。

試試這個

 var config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath); 
     config.ConnectionStrings.ConnectionStrings["ConnectString"].ConnectionString = string.Format(@"server={0};database={1};integrated security=SSPI", sDatabaseServer, sDatabase); 

     config.Save();