作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想要实现的目标
您好,我有 dotnetcore Web Api,它正在 Azure 应用服务服务器场中运行。我正在尝试从应用程序服务配置应用程序设置中读取连接字符串。
到目前为止我已经尝试过
下面是我尝试读取连接字符串设置的方式
var configValue = (ConfigurationManager.AppSettings["PNLDBConnectionString"] ?? String.Empty).ToString();
我已在应用程序服务配置部分中添加了连接字符串,如下所示
还添加了一个应用程序设置键,如下所示
但无论哪种方式,如果我从 app.config
中删除连接字符串键并部署;然后在尝试运行任何 API 端点时会抛出以下错误,这本质上意味着它无法读取所述连接字符串属性
你知道我在这里可能会错过什么吗?请提出建议。
编辑:
app.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key ="Encrypted" value="true"/>
<add key ="PNLDBConnectionString" value="connection string value"/>
</appSettings>
</configuration>
最佳答案
在 Azure 门户中添加新的 ConnectionString 之后 => 配置 => 应用程序设置在 appsettings.json 文件中添加连接字符串
"ConnectionStrings": {
"DefaultConnection": "Server=SQLAzure; Database=PNLDB; Trusted_Connection=True; MultipleActiveResultSets=true"
}
在Startup.cs中,设置配置设置以使用 appsettings.json 覆盖环境变量。
public IConfiguration Configuration { get; set; }
public Startup()
{
Configuration = new Configuration()
.AddJsonFile("appsettings.json")
.AddEnvironmentVariables();
}
在启动
中配置数据库
public void ConfigureServices(IServiceCollection services)
{
services
.AddEntityFramework()
.AddSqlServer()
.AddDbContext<ProjectContext>(options =>
{
var connString = Configuration.Get("PNLDBConnectionString");
options.UseSqlServer(connString);
});
}
更新
var connection =
System.Configuration.ConfigurationManager.
ConnectionStrings["PNLDBConnectionString”].ConnectionString;
您的程序集还需要引用 System.Configuration。
关于azure - 应用服务: Not able to read connection string setting from App settings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70808854/
我是一名优秀的程序员,十分优秀!