网络加密.在Global.asax中编程配置

本文关键字:编程 配置 asax Global 加密 网络 | 更新日期: 2023-09-27 18:03:43

我想检查然后以编程方式加密我的web。如果未加密,则在Application_Start (global.asax)期间配置。

protected void Application_Start()
{
    EncryptConfig.Encrypt("/Web.config");
}

And My Method

protected internal static void Encrypt(string applicationPath)
{
    private const string Provider = "RSAProtectedConfigurationProvider";
    private const string Section = "connectionStrings";
    var test = applicationPath;
    var confg = WebConfigurationManager.OpenWebConfiguration(applicationPath);
    var confStrSect = confg.GetSection(Section);
    if (confStrSect != null)
    {
        confStrSect.SectionInformation.ProtectSection(Provider);
        //confStrSect.SectionInformation.ForceSave = true;
        //confg.Save(ConfigurationSaveMode.Modified);
        confg.Save();
    }
}

我得到以下异常,我没有运气解决使用谷歌和StackOverflow

类型为"System.Configuration"的异常。在System.Configuration.dll中发生了ConfigurationErrorsException,但没有在用户代码中处理

附加信息:无法为请求的configuration对象创建配置文件。

网络加密.在Global.asax中编程配置

正如Dbugger在评论中提到的,解决方案是

WebConfigurationManager.OpenWebConfiguration("~"); –  dbugger