use GetRequiredSection and Service to inject options (#640)
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Net.Http;
|
||||
using System.Threading.Tasks;
|
||||
using BlazorAdmin.Services;
|
||||
@@ -20,9 +20,8 @@ public class Program
|
||||
var builder = WebAssemblyHostBuilder.CreateDefault(args);
|
||||
builder.RootComponents.Add<App>("#admin");
|
||||
|
||||
var baseUrlConfig = new BaseUrlConfiguration();
|
||||
builder.Configuration.Bind(BaseUrlConfiguration.CONFIG_NAME, baseUrlConfig);
|
||||
builder.Services.AddScoped<BaseUrlConfiguration>(sp => baseUrlConfig);
|
||||
var configSection = builder.Configuration.GetRequiredSection(BaseUrlConfiguration.CONFIG_NAME);
|
||||
builder.Services.Configure<BaseUrlConfiguration>(configSection);
|
||||
|
||||
builder.Services.AddScoped(sp => new HttpClient() { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
|
||||
|
||||
@@ -37,7 +36,7 @@ public class Program
|
||||
|
||||
builder.Services.AddBlazorServices();
|
||||
|
||||
builder.Logging.AddConfiguration(builder.Configuration.GetSection("Logging"));
|
||||
builder.Logging.AddConfiguration(builder.Configuration.GetRequiredSection("Logging"));
|
||||
|
||||
await ClearLocalStorageCache(builder.Services);
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ using BlazorShared.Attributes;
|
||||
using BlazorShared.Interfaces;
|
||||
using BlazorShared.Models;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Options;
|
||||
|
||||
namespace BlazorAdmin.Services;
|
||||
|
||||
@@ -23,12 +24,12 @@ public class CatalogLookupDataService<TLookupData, TReponse>
|
||||
private readonly string _apiUrl;
|
||||
|
||||
public CatalogLookupDataService(HttpClient httpClient,
|
||||
BaseUrlConfiguration baseUrlConfiguration,
|
||||
IOptions<BaseUrlConfiguration> baseUrlConfiguration,
|
||||
ILogger<CatalogLookupDataService<TLookupData, TReponse>> logger)
|
||||
{
|
||||
_httpClient = httpClient;
|
||||
_logger = logger;
|
||||
_apiUrl = baseUrlConfiguration.ApiBase;
|
||||
_apiUrl = baseUrlConfiguration.Value.ApiBase;
|
||||
}
|
||||
|
||||
public async Task<List<TLookupData>> List()
|
||||
|
||||
@@ -4,6 +4,7 @@ using System.Text.Json;
|
||||
using System.Threading.Tasks;
|
||||
using BlazorShared;
|
||||
using BlazorShared.Models;
|
||||
using Microsoft.Extensions.Options;
|
||||
|
||||
namespace BlazorAdmin.Services;
|
||||
|
||||
@@ -14,11 +15,11 @@ public class HttpService
|
||||
private readonly string _apiUrl;
|
||||
|
||||
|
||||
public HttpService(HttpClient httpClient, BaseUrlConfiguration baseUrlConfiguration, ToastService toastService)
|
||||
public HttpService(HttpClient httpClient, IOptions<BaseUrlConfiguration> baseUrlConfiguration, ToastService toastService)
|
||||
{
|
||||
_httpClient = httpClient;
|
||||
_toastService = toastService;
|
||||
_apiUrl = baseUrlConfiguration.ApiBase;
|
||||
_apiUrl = baseUrlConfiguration.Value.ApiBase;
|
||||
}
|
||||
|
||||
public async Task<T> HttpGet<T>(string uri)
|
||||
|
||||
Reference in New Issue
Block a user