1

对不起,如果这看起来像一个愚蠢的问题。

我的应用程序使用连接字符串连接到 SQL Server 2008 数据库并使用 Crystal Report,我的服务器使用混合身份验证模式。

问题是:app.config文件显示了我不想让任何人看到的连接字符串(用户名和密码)!

Data Source=.\SQLEXPRESS;Initial Catalog=ComplainsDb;Persist Security Info=false; User ID=abcde ;Password=MyPassword

谢谢你的帮助。

4

1 回答 1

3

当你的程序启动时,你需要调用这样的东西:

    void EncryptConnectionStringsIfNecessary()
    {
        var configFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
        ConnectionStringsSection section = configFile.ConnectionStrings;
        if (section != null)
        {
            if (!section.IsReadOnly())
            {
                if (!section.SectionInformation.IsProtected)
                {
                    section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");
                    section.SectionInformation.ForceSave = true;
                    configFile.Save(ConfigurationSaveMode.Full);
                }
            }
        }
    }
于 2013-09-23T09:33:34.130 回答