我正在Amazons AWS Elastic Beanstalk上創建.NET Core Web API。 我試圖添加數據庫,但他們的嚮導添加數據庫沒有對.NET的核心工作 http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_NET.rds.html.NET核心AWS RDS連接
它說,使用來獲得相關信息「ConfigurationManager.AppSettings;」,但這是不可能的.NET核心。
任何人都可以提供一些關於如何獲取數據庫信息的信息嗎? ( 「RDS_DB_NAME」 「RDS_USERNAME」 「RDS_PASSWORD」 「RDS_HOSTNAME」 )
UPDATE 我試圖在https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration 閱讀,但我還沒有解決的問題。我似乎仍然無法從AWS獲取這些值。
它只是返回無論我在我自己的appsettings.json 這裏設置是我的代碼: MyOptions.cs
public class MyOptions
{
public MyOptions()
{
// Set default value.
}
public string RDS_HOSTNAME { get; set; }
public string RDS_PORT { get; set; }
public string RDS_DB_NAME { get; set; }
public string RDS_USERNAME { get; set; }
public string RDS_PASSWORD { get; set; }
}
StartUp.cs
public void ConfigureServices(IServiceCollection services)
{
// Register the IConfiguration instance which MyOptions binds against.
services.Configure<MyOptions>(Configuration);
// Add framework services.
services.AddApplicationInsightsTelemetry(Configuration);
services.AddMvc();
}
HomeController.cs
namespace WebApplication2.Controllers
{
[Route("")]
public class HomeController : Controller
{
private readonly MyOptions _options;
public HomeController(IOptions<MyOptions> optionsAccessor)
{
_options = optionsAccessor.Value;
}
[HttpGet]
public IActionResult Index()
{
var RDS_DB_NAME = _options.RDS_DB_NAME;
var RDS_HOSTNAME = _options.RDS_HOSTNAME;
var RDS_PASSWORD = _options.RDS_PASSWORD;
var RDS_PORT = _options.RDS_PORT;
var RDS_USERNAME = _options.RDS_USERNAME;
return Content($"RDS_DB_NAME = {RDS_DB_NAME}, RDS_HOSTNAME = {RDS_HOSTNAME}, RDS_PASSWORD = { RDS_PASSWORD}, RDS_PORT = {RDS_PORT}, RDS_USERNAME = { RDS_USERNAME}");
}
}
}
您應該查看dotnet核心中的配置管理,網址爲https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration –
謝謝Babak。我讀了它,但我無法弄清楚如何讓它起作用。如果您有時間幫助更多,我現在已經在OP中編寫了我的代碼。否則,謝謝。 – thatname