我有一个连接到 MySQL 数据库的 ASP .Net Core 2.2 Web API。它托管在 Azure 应用服务上。
目前我将连接字符串存储在 appsettings.json 文件中:
"ConnectionStrings": {
"MyDataContext": "Server=server1.mysql.database.azure.com;user id=username;Pwd=password;persistsecurityinfo=True;database=db1;"
}
我在 Startup.cs(在 ConfigureServices 方法中)中读取了连接字符串,如下所示:
services.AddDbContext<MyContext>(options => options.UseMySql(Configuration.GetConnectionString("MyDataContext")));
我读到我可以将这些连接字符串存储在 Azure 应用服务设置中,因为它提供了一些优势。我一直在努力做到这一点,但我正在努力让它发挥作用。
我的第一个问题是,在将连接字符串添加到 Azure 应用服务设置(在连接字符串部分下)时,我应该在名称/值对中为名称输入什么?我只是输入“MyDataContext”还是输入“ConnectionStrings:MyDataContext”?(我试图保持与 appsettings.json 文件中相同的结构)。我的第二个问题是,我还能像现在一样读取 Startup.ConfigureServices 方法中的连接字符串吗?据我了解,Azure App Service 会自动将 Settings 中的连接字符串存储到 API 中的 Configuration 对象中吗?我不确定我是否遗漏了什么,但它不起作用......