【发布时间】:2019-05-27 09:22:49
【问题描述】:
我有一个如下所示的 NLog 数据库目标:
<target xsi:type="Database" name="database"
connectionString="Server=.\SQLEXPRESS;Database=ApplicationOne;Trusted_Connection=True;MultipleActiveResultSets=true;User Id=User0101;Password=PW0101"
commandText="INSERT INTO [SchemaOne].[EventLogs](Id, Message, Level, Logger )VALUES(NewID(), @Message, @Level, @Logger)">
<parameter name="@Message" layout="${message}" />
<parameter name="@Level" layout="${level}" />
<parameter name="@Logger" layout="${logger}" />
</target>
是否可以将 connectionString 改为使用我的 appsettings 中的 connectionStringName?
我的 appsettings 名为 dssettings.json,它在此处包含连接详细信息:
"DatabaseConfiguration": {
"DatabaseName": "ApplicationOne",
"ConnectionName": "DefaultConnection",
"ConnectionString": "Server=.\\SQLEXPRESS;Database=ApplicationOne;Trusted_Connection=True;MultipleActiveResultSets=true;User Id=User0101;Password=PW0101"
},
【问题讨论】:
-
您不应该将连接字符串存储在任何一个中,它不安全,您可能会不小心将其提交到您的源代码控制管理系统(Git、CSV 等)中。使用user secrets,环境变量或azure key value store
-
我明白,但这是针对一个已经使用 appsettings 一段时间的小项目。
-
您可以考虑使用NLog Configuration API。
标签: asp.net logging asp.net-core nlog