<connectionstring>部分未在app.config </connectionstring>中加密

时间:2015-03-24 15:33:28

标签: .net vb.net encryption

MS guide之后,我正在尝试加密app.config文件中的整个<connectionString>部分。程序运行时,我可以打开bin/Debug/MyApp.vshost.exe.config并看到<connectionString>已加密。但是,如果我让程序运行,完成并正常退出,则不会将任何内容保存在文件中,就好像它会刷新所有设置一样。

  Dim config As Configuration =  
    ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
    Dim section As ConnectionStringsSection =  
    DirectCast(config.GetSection("connectionStrings"), ConnectionStringsSection)
    If section.SectionInformation.IsProtected Then
        'Remove encryption 
        section.SectionInformation.UnprotectSection()
    Else
        'Encrypt  
         section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider")
    End If
        section.SectionInformation.ForceSave = True
        config.Save(ConfigurationSaveMode.Full)
    Dim sectionXmlas As String = 'result of encryption 
                    section.SectionInformation.GetRawXml()

1 个答案:

答案 0 :(得分:0)

要以编程方式完成此工作,您必须致电

config.refreshsection

对Save的调用将调整物理文件,但在上述调用完成之前,它将被缓存在内存中。