我已经花了几个小时的时间,不断提供有关.NET Core的信息,但几乎没有有关.NET 4.7完整框架的信息。我想出了如何将User Secrets添加到Web API解决方案的主项目中。我得到了基本的secrets.xml文件,需要在其中存储数据库用户名和密码或连接字符串。我发现的每个帖子都谈到了您需要对web.config进行的更改。但是,在secrets.xml文件中没有显示如何处理我的连接字符串,如何设置其格式。我可以创建一个名称/值对,但是似乎什么也没做,我的应用无法连接到数据库。
我在Web.config中有此文件:
<configBuilders>
<builders>
<add name="Secrets" userSecretsId="5c65f7eb-a7e1-46cc-bff4-a526678005f2" type="Microsoft.Configuration.ConfigurationBuilders.UserSecretsConfigBuilder, Microsoft.Configuration.ConfigurationBuilders.UserSecrets, Version=1.0.0.0, Culture=neutral" /></builders>
</configBuilders>
<connectionStrings configBuilders="Secrets">
<add name="ShopAPDbConnectionString" connectionString="" providerName="System.Data.SqlClient" />
</connectionStrings>
我的secrets.xml看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<root>
<secrets ver="1.0">
<secret name="ShopAPDbConnectionString" value="Server=SQLDEV01;Database=ShopAP; Integrated Security=True;" />
</secrets>
</root>
如何正确格式化并使其正常工作?
[我试图做同样的事情,但是不幸的是,我认为这仅适用于涉及.Net Framework / Web.config的appSettings。
也许会帮助您:
在web.config中,将连接字符串定义为:
<connectionStrings configSource="secretConnectionStrings.config" />
您可以在configSource中将完整路径设置为任何秘密文件
像这样添加secretConnectionStrings.config:
<connectionStrings>
<add name="ShopAPDbConnectionString" value="Server=SQLDEV01;Database=ShopAP; Integrated Security=True;" />
</connectionStrings>