asp.net динамически добавляет строку подключения в web.config
У меня есть веб-приложение и Windows-приложение в одном решении. Я хочу динамически добавить строку подключения в файл web.config. Информация о строке подключения передается из приложения Windows. Как мне это сделать, пожалуйста, помогите мне.
Мое оконное приложение, имеющее:
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();
}
1 ответ
Я считаю, что вы решаете свою проблему таким образом, что для ее решения может существовать иной подход, однако для того, чтобы делать то, что вы хотите, у вас есть два варианта. Сначала вы можете прочитать файл, используя IO
пространство имен, а затем разобрать его как XML
с помощью LINQ
узлы и вторые вы можете использовать Configuration
учебный класс (System.Configuration
а также System.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);