我想在Application_Start(global.asax)期间检查然后以编程方式加密我的web.config,如果它尚未加密的话。
protected void Application_Start()
{
EncryptConfig.Encrypt("/Web.config");
}
和我的方法
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();
}
}
我收到以下异常,我没有使用Google和StackOverflow解析运气
类型' System.Configuration.ConfigurationErrorsException'的异常发生在System.Configuration.dll中但未在用户代码中处理
附加信息:无法为请求的配置对象创建配置文件。
答案 0 :(得分:0)
正如Dbugger在评论中提到的,解决方案是
WebConfigurationManager.OpenWebConfiguration("~"); – dbugger