C# 使用server.MapPath()时不允许相对虚拟路径

C# 使用server.MapPath()时不允许相对虚拟路径,c#,asp.net,configuration,web-config,global-asax,C#,Asp.net,Configuration,Web Config,Global Asax,我正在尝试使用以下代码获取配置文件: public void EncryptConnString() { Configuration config = WebConfigurationManager.OpenWebConfiguration(HttpContext.Current.Server.MapPath(@"/")); ConfigurationSection section = config.GetSection("connectionSt

我正在尝试使用以下代码获取配置文件:

public void EncryptConnString()
        {
    Configuration config = WebConfigurationManager.OpenWebConfiguration(HttpContext.Current.Server.MapPath(@"/"));
            ConfigurationSection section = config.GetSection("connectionStrings");
            if (!section.SectionInformation.IsProtected)
            {               
                config.Save(ConfigurationSaveMode.Modified);
            }
        }
但是我得到了错误

此处不允许相对虚拟路径“F:/xxxx/yyy/sample/”


注意:我正在
global.asax
页面中访问此代码,我做错了什么?

如果将null传递给此方法,它将为您返回根配置文件:

var config = WebConfigurationManager.OpenWebConfiguration(null);

HttpContext.Current.Server.MapPath(“~/”)很抱歉,收到相同的错误!注意:我是在global.asax中访问此代码的,如果我在page方法中调用相同的代码,则意味着其作品将更新page方法