首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HttpClient & Config.json

HttpClient & Config.json
EN

Stack Overflow用户
提问于 2020-10-26 18:45:51
回答 1查看 330关注 0票数 1

我刚开始使用Blazor (Web程序集),并将其链接到一个API。所以这确实是一个设计/代码问题。

我想配置一个测试和生产URL (连接到API),不确定我是否做了正确的/最佳实践,所以任何示例都会很好吗?(我很肯定我做错了!)

我想我应该在Blazor项目中创建一个JSON文件,并且只需要一个生产和测试URL。我是从program.cs开始的:

代码语言:javascript
复制
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文件

代码语言:javascript
复制
{
  "Url": {
    "LocalTest": "https://localhost:44302",
    "Production": "https://Todo"
  } 
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-26 19:26:45

.json文件夹中创建两个wwwroot文件,注意名称:

appsettings.json

代码语言:javascript
复制
{
  "Url": "https://Todo""  
}

appsettings.Development.json

代码语言:javascript
复制
{
  "Url": "https://localhost:44302"  
}

Program.cs中:

代码语言:javascript
复制
  var url = builder.Configuration.GetSection("Url").Value;
  ...

根据ASPNETCORE_ENVIRONMENT的不同,将加载相关的url。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64543185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档