簡體   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