【发布时间】:2020-06-25 10:51:15
【问题描述】:
我正在尝试开发一个连接到 SQL 数据库的 C# Winform 应用程序。
到目前为止,我能够将最敏感的数据从我的 XML 配置文件移动到外部 XML 配置文件,但仅此而已。
我要做的最后一件事是加密该文件,因为很多人都可以访问应用程序所在的目录。
我的主 [APP] 配置文件如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings configSource="conn_string.config"/>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
</configuration>
还有我试图隐藏连接字符串的 [conn_string] 外部配置文件:
<?xml version="1.0" encoding="utf-8" ?>
<connectionStrings>
<add name="myConnectionStringName"
providerName="System.Data.SqlClient"
connectionString="Data Source=ServerName;Initial
Catalog=InitialDatabaseName;User=UserName;Password=MyPassword;Application Name=MyAppName" />
</connectionStrings>
现在谈到加密,我读到 asp-netregiis.exe 只寻找名为“web”的文件 所以我暂时将我的“conn_string”文件重命名为“web”
并尝试了加密(通过开发者命令行VS):
aspnet_regiis -pef "connectionStrings" "path_to_my_conn_string_file"
结果是:~我的翻译
The web.config file doesn't contain a configuration tag
所以我添加了一个这样的:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="myConnectionStringName"
providerName="System.Data.SqlClient"
connectionString="Data Source=ServerName;Initial
Catalog=InitialDatabaseName;User=UserName;Password=MyPassword;Application Name=MyAppName" />
</connectionStrings>
</configuration>
现在它抱怨:~又是我的翻译
File format configSource must be an element conatining section name
【问题讨论】:
-
首先,您必须在您提到的 "path_to_my_conn_string_file" 部分中提供包含目录。那么您的配置名称必须是 web.config(不区分大小写)。你会这样尝试吗?
标签: c# sql-server xml winforms aspnet-regiis.exe