繁体   English   中英

使用多个Web配置C#

[英]Working with Multiple Web Config C#

我有2个项目,每个项目都有一个WebConfig文件,我想从一个地方编辑2个webconfig文件,我尝试这样做:

    string configPath = "/WebSite Name";
    Configuration confUI = WebConfigurationManager.OpenWebConfiguration("~");
    Configuration confProtocol = WebConfigurationManager.OpenWebConfiguration(configPath);                
    AppSettingsSection appSettingsUI = (AppSettingsSection)confUI.GetSection("appSettings");
    AppSettingsSection appSettingsProtocol = (AppSettingsSection)confProtocol.GetSection("appSettings");

    if (appSettingsUI != null & appSettingsProtocol != null)
    {
        appSettingsUI.Settings[key].Value = value;
        appSettingsProtocol.Settings[key].Value = value;

        confUI.Save();
        confProtocol.Save();
    }

我也试试

    Configuration confProtocol = WebConfigurationManager.OpenWebConfiguration(configPath,"webSiteName");

confProtocol设置为空的问题。

如何从UI项目设置协议项目的WebConfig路径?

嗯。 我想检查“〜”路径和“configPath”将是一个很好的起点。

如果您希望root web.config只将null传递给OpenWebConfiguration。

  Configuration confProtocol  = Configuration.OpenWebConfiguration(null);

如果它们位于不同的主机中,则需要指定主机。

Configuration confProtocol = WebConfigurationManager.OpenWebConfiguration(configPath,"Protocol Web Site");                

//您的代码很好但需要稍加修改

string appName = Environment.GetCommandLineArgs()[2];

//这应该返回当前站点的虚拟路径ex:“e:\\ Code \\ Website”//删除最后一个网站并添加第二个网站

string configFile = string.Concat(appName, "web.config");
ExeConfigurationFileMap configFMap = new ExeConfigurationFileMap();
configFMap.ExeConfigFilename = configPath;
Configuration confProtocol = ConfigurationManager.OpenMappedExeConfiguration(configFMap, ConfigurationUserLevel.None);

string configPath = "/WebSite Name";
    Configuration confUI = WebConfigurationManager.OpenWebConfiguration("~");
    Configuration confProtocol = WebConfigurationManager.OpenWebConfiguration(configPath);                
    AppSettingsSection appSettingsUI = (AppSettingsSection)confUI.GetSection("appSettings");
    AppSettingsSection appSettingsProtocol = (AppSettingsSection)confProtocol.GetSection("appSettings");

    if (appSettingsUI != null & appSettingsProtocol != null)
    {
        appSettingsUI.Settings[key].Value = value;
        appSettingsProtocol.Settings[key].Value = value;

        confUI.Save();
        confProtocol.Save();
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM