在C#中以编程方式更改REMOTE web.config

时间:2018-06-21 10:46:23

标签: c# asp.net web-config

我在同一服务器上托管了两个Web项目,即一个站点的User&Admin Projects。我要动态更改“应用程序设置”(应用程序设置的键)的值

我知道如何在同一项目中以编程方式更改web.config值。但是如何在不同项目中更改

System.Configuration.ExeConfigurationFileMap configFile = new System.Configuration.ExeConfigurationFileMap();
configFile.ExeConfigFilename = "ConsoleTester.exe.config";  //name of your config file, can be from your app or external
System.Configuration.Configuration config = System.Configuration.ConfigurationManager.OpenMappedExeConfiguration(configFile, System.Configuration.ConfigurationUserLevel.None);
System.Configuration.KeyValueConfigurationCollection settings = config.AppSettings.Settings;
settings["DD"].Value = "007_Access";
config.Save();

3 个答案:

答案 0 :(得分:1)

我得到的问题是,您只有一个代码库,并且需要为两个具有不同功能的应用程序实例提供服务。

  

首先在运行时修改web.config并不是一个好主意。

要具有基于一个代码库的两个应用程序实例,并使用单独的web.config,可以使用IIS的虚拟目录功能。 在IIS上使用两个web.config(分隔目录)创建两个Web应用程序,然后定义一个指向您的代码库的虚拟目录。

答案 1 :(得分:1)

在IIS 7+中,有一个C#API,可让您创建应用程序和修改配置。

文档在Microsoft.Web.Administration

我认为这段代码应该可以帮助您了解

metalFragmentShader

答案 2 :(得分:0)

您可以制作一个app_offline.htm文件,该文件会使您的网站瘫痪。您所要做的就是将文件放在网站的根目录中,然后IIS会为您完成其余工作。您可以在app_offline.htm上添加维护消息,并在用户仅看到app_offline.htm页面时进行维护

如果您真的想通过编程进行操作。您可以在不需要该文件时将其重命名为其他名称,并在要删除该站点时将其重命名为app_offline.htm