我有一个看起来非常简单的配置文件:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="SQLServerConnectionString" connectionString="connection1"/>
<add name ="OracleServerConnectionString" connectionString="connection2"/>
</connectionStrings>
</configuration>
没有比这更容易了。我正在尝试加密“connectionStrings”部分。我试过通过跟随许多在线turotrials但尝试做到这一点,但未能让它工作。我想我可能找到了问题的根源。基本上当我这样做时:
string conectionString = ConfigurationManager.ConnectionStrings["SQLServerConnectionString"].ConnectionString;
我我能够获得“connection1”的预期结果。
然而,当我这样做时:
var appconfigDir = @"C:\Users\Me\Desktop\MyProject\App.config";
System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(appconfigDir);
ConnectionStringsSection section =
config.GetSection("connectionStrings") as ConnectionStringsSection;
var connectionString = section.ConnectionStrings["SQLServerConnectionString"];
我一直变空!有人可以帮我弄这个吗?我无法理解为什么我无法使用第二种方法获取连接字符串。
我正在尝试通过执行以下操作来加密我的“App.config”
section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");
这有效,但当我解密时:
section.SectionInformation.UnprotectSection();
我无法获得原始连接字符串。我基本上只得到一个空白的“connectionString”部分。