Blazor, HttpClient & Config.json



我刚开始使用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。

相关内容

  • 没有找到相关文章

最新更新