我使用以下代码连接到使用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)