如何从 appsettings.json 读取 AWS RegionEndpoint?
How to read AWS RegionEndpoint from appsettings.json?
Blazor 服务器。
我有模型
public class S3SvcConfiguration: IS3SvcConfiguration
{
public string AccessKey { get; set; }
public string SecretKey { get; set; }
public RegionEndpoint RegionPoint { get; set; }
public string S3Url { get; set; }
}
但是当我阅读 appsettings.json 配置时,RegionEndpoint 为空:
RegionEndpoint 是 AWS 类型。
"S3SvcConfiguration": {
"RegionPoint": "us-east-2",
"S3Url": "http://myhost:9000",
"AccessKey": "qwerty",
"SecretKey": "qwerty123"
},
我读了
public void ConfigureServices(IServiceCollection services)
{
services.AddRazorPages();
services.AddServerSideBlazor();
services.AddSingleton<IS3SvcConfiguration>(Configuration.GetSection("S3SvcConfiguration").Get<S3SvcConfiguration>());
services.AddScoped <IS3FileSvc,S3FileSvc> ();
}
填充了所有值,但 RegionPoint 为空。
如何读取 appsettings.json 配置以填充 RegionPoint 值?
RegionEndpoint 是他们自定义配置的一部分,但是当他们有代码来处理它时,您尝试从一个简单的字符串填充它。
考虑更改手动将该字符串转换为所需值的方法
public void ConfigureServices(IServiceCollection services) {
services.AddRazorPages();
services.AddServerSideBlazor();
S3SvcConfiguration config = Configuration.GetSection("S3SvcConfiguration").Get<S3SvcConfiguration>();
string region = Configuration.GetValue<string>("S3SvcConfiguration:RegionPoint");
config.RegionPoint = RegionEndpoint.GetBySystemName(region);
services.AddSingleton<IS3SvcConfiguration>(config);
services.AddScoped <IS3FileSvc,S3FileSvc> ();
}
Blazor 服务器。 我有模型
public class S3SvcConfiguration: IS3SvcConfiguration
{
public string AccessKey { get; set; }
public string SecretKey { get; set; }
public RegionEndpoint RegionPoint { get; set; }
public string S3Url { get; set; }
}
但是当我阅读 appsettings.json 配置时,RegionEndpoint 为空: RegionEndpoint 是 AWS 类型。
"S3SvcConfiguration": {
"RegionPoint": "us-east-2",
"S3Url": "http://myhost:9000",
"AccessKey": "qwerty",
"SecretKey": "qwerty123"
},
我读了
public void ConfigureServices(IServiceCollection services)
{
services.AddRazorPages();
services.AddServerSideBlazor();
services.AddSingleton<IS3SvcConfiguration>(Configuration.GetSection("S3SvcConfiguration").Get<S3SvcConfiguration>());
services.AddScoped <IS3FileSvc,S3FileSvc> ();
}
填充了所有值,但 RegionPoint 为空。 如何读取 appsettings.json 配置以填充 RegionPoint 值?
RegionEndpoint 是他们自定义配置的一部分,但是当他们有代码来处理它时,您尝试从一个简单的字符串填充它。
考虑更改手动将该字符串转换为所需值的方法
public void ConfigureServices(IServiceCollection services) {
services.AddRazorPages();
services.AddServerSideBlazor();
S3SvcConfiguration config = Configuration.GetSection("S3SvcConfiguration").Get<S3SvcConfiguration>();
string region = Configuration.GetValue<string>("S3SvcConfiguration:RegionPoint");
config.RegionPoint = RegionEndpoint.GetBySystemName(region);
services.AddSingleton<IS3SvcConfiguration>(config);
services.AddScoped <IS3FileSvc,S3FileSvc> ();
}