我使用以下代码连接到使用Active Directory集成身份验证的SQL Azure DB.
private string GenerateConnectionString(string databaseName, string serverName)
{
SqlConnectionStringBuilder connBuilder = new SqlConnectionStringBuilder();
sqlConnectionBuilder.DataSource = string.Format(
"tcp:{0}.database.windows.net",
serverName);
connBuilder.InitialCatalog = databaseName;
connBuilder.Authentication = SqlAuthenticationMethod.ActiveDirectoryIntegrated;
connBuilder.ConnectTimeout = 30;
return connBuilder.ConnectionString;
}
Run Code Online (Sandbox Code Playgroud)
身份验证从Active Directory集成身份验证更改为Active Directory通用身份验证,以支持多因素身份验证.
我看到枚举
System.Data.SqlClient.SqlAuthenticationMethod
没有Active Directory通用身份验证的值.是否仍然可以使用System.Data.SqlClient
连接到DB?如果是,我在代码中要做的改变是什么?
我使用 Serilog 登录 Asp.net core Web api。我将其配置为使用 SQL 接收器,并且它使用 XML 形式的属性列数据在日志表中进行日志记录。
如何配置 Serilog 将属性列数据记录为 JSON 而不是 XML?
以下是我的 appsettings.json 文件内容。我安装了 Serilog.Formatting.Compact 包并在 appsettings.json 中添加了格式化程序设置。但 Properties 列数据仍然是 XML 格式。
"Serilog": {
"MinimumLevel": "Information",
"WriteTo": [
{
"Name": "MSSqlServer",
"Args": {
"connectionString": "",
"formatter": "Serilog.Formatting.Compact.CompactJsonFormatter, Serilog.Formatting.Compact",
"tableName": "Log"
}
}
]
}
Run Code Online (Sandbox Code Playgroud)