我使用以下方法加密web.config中的连接字符串:
public static void EncryptConnectionString()
{
var section = GetConfigSection();
if (section.SectionInformation.IsProtected) return;
section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");
section.SectionInformation.ForceSave = true;
section.CurrentConfiguration.Save();
}
private static ConnectionStringsSection GetConfigSection()
{
var config = WebConfigurationManager.OpenWebConfiguration("~");
var section = config.GetSection("connectionStrings");
if (section.ElementInformation.IsLocked || section.SectionInformation.IsLocked) return null;
return section as ConnectionStringsSection;
}
Application_Start()
方法中调用了此方法Application_Start()
中的其他方法似乎有效,因为我可以看到我的注册包被使用。那么为什么不调用这个编辑web.config的方法,在从Application_Start()
调用时工作?
答案 0 :(得分:0)
首次启动应用程序时调用Application_Start,或者更具体地说,当应用程序收到第一个请求时调用Application_Start。尝试点击Home Controller并让它什么都不做,然后检查web.config是否加密。