2014-12-18 4 views
0

У меня есть приложение для веб-приложений и окон в том же решении. Я хочу динамически добавлять строку подключения в файле web.config. Информация о строках подключения предоставляется из приложения Windows. Как мне это сделать, пожалуйста, помогите мне.asp.net динамически добавить строку подключения в web.config

Мое приложение окно, имеющее:

WebForm1 wf = new WebForm1(); 
wf.add(); 

И мое WEP приложение имеющее:

public void add() 
{ 
     Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath); 
     ConnectionStringsSection sec = (ConnectionStringsSection)config.GetSection("connectionStrings"); 
     sec.ConnectionStrings["DBCS"].ConnectionString = "Data Source=GKS_004-PC;Database=hello1;User ID=123;Password=123"; 
     config.Save();   
    } 
+0

http://www.codeproject.com/Questions/217366/dynamically-set-connection-string-in-web-config http://www.aspsnippets.com/Articles/Programmatically-Add-or-Update-Connection-String-in-ASPNet-WebConfig-File.aspx – Vivekh

+0

Подумайте об этом так - если это (правда) «динамический», почему он должен быть сохранен в файле конфигурации? Что еще более важно, каждый раз, когда файл конфигурации изменяется, он перезапускает ваше приложение. – EdSF

ответ

0

Я считаю, что вы адресуете проблему таким образом, что может существовать другой подход, чтобы решить вашу проблему, однако чтобы сделать то, что вы хотите, у вас есть два варианта. Сначала вы можете прочитать файл, используя пространство имен IO, а затем проанализировать его как XML, используя LINQ узлов, а затем вы можете использовать класс ConfigurationSystem.Web.Configuration).

//get the configuration file 
Configuration config = WebConfigurationManager.OpenWebConfiguration("..."); //path to config 

//get Configuration section 
ConfigurationSection section = config.GetSection("..."); 

config.AppSettings.Settings.Add(Key, Value); 
config.AppSettings.Settings.Remove(Key); 

или таким образом, вместо того, чтобы использовать непосредственно Configuration класс

AppSettingsSection appsettings = (AppSettingsSection) config.GetSection("..."); 
appsettings.Settings.Add(key, Value);