我刚开始使用Blazor(Web Assembly(并将其链接到API。所以这实际上是一个设计/代码问题。
我想配置一个测试和生产URL(连接到API(,不确定我是否做得对/最佳实践,所以有什么例子会很好吗?(我敢肯定我做错了!(
我想我应该在Blazor项目中创建一个JSON文件,并简单地拥有一个生产和测试URL。我已经在程序中启动了这个。cs:
public class Program
{
private static string ApiConfig { get; set; }
public static async Task Main(string[] args)
{
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("app");
LoadJsonConfiguration();
builder.Services.AddHttpClient<INotificationDataService, NotificationDataService>(client =>
client.BaseAddress = new Uri("ApiConfig"));
await builder.Build().RunAsync();
}
public static void LoadJsonConfiguration()
{
var config = JObject.Parse(@"/Config/application.json");
using (StreamReader file = File.OpenText(@"/Config/application.json"))
using (JsonTextReader reader = new JsonTextReader(file))
{
var a = reader.Read();
ApiConfig = "ReadConfig here??";
}
}
}
application.JSON文件
{
"Url": {
"LocalTest": "https://localhost:44302",
"Production": "https://Todo"
}
}
在wwwroot
文件夹中创建两个.json
文件,注意名称:
appsettings.json
{
"Url": "https://Todo""
}
appsettings.Development.json
{
"Url": "https://localhost:44302"
}
在Program.cs
:中
var url = builder.Configuration.GetSection("Url").Value;
...
根据ASPNETCORE_ENVIRONMENT
,将加载相关url。