【问题标题】:How to get current application url from launchsettings.json如何从 launchsettings.json 获取当前应用程序 url
【发布时间】:2021-01-25 23:17:29
【问题描述】:

是否有一种相当简单的方法可以从 launchsettings.json 中检索当前的应用程序 url?例如,在开发中我有 localhost:5000 而生产是https://mywebsitesurl.com

我看到您可以使用注入 HTTP 上下文服务,但如果可能的话,我想以与访问 AppSettings.Json 属性相同的方式访问其属性

【问题讨论】:

  • this 能解决您的问题吗?
  • launchSettings.json 默认情况下不是构建输出的一部分,甚至不是发布输出。它仅用于调试目的。此外,在调试配置文件中指定的applicationUrl 接受多个 URL(由分号分隔)。因此,从本质上讲,您的网站可以通过这些 URL 中的任何一个访问,而仅通过该设置,您将无法找到。通过 HttpContext 检索 URL 会更好且值得信赖

标签: c# asp.net-core


【解决方案1】:

在 appsettings.json 中添加这个

  "AllowedHosts": "*",
  "Services": {
    "NameofMyurlSite": "http://localhost:1000 or your URL site"
  }
}

在启动时添加这个

 services.AddHttpClient("NameofMyurlSite", config => {
        config.BaseAddress = new Uri(Configuration["Services:NameofMyurlSite"]);
    });

如果您需要将您的网站用于 httpclient 或接收数据,请使用IHttpClientFactory

 var client = _httpClient.CreateClient("NameofMyurlSite");
                var datasBody = new StringContent(JsonConvert.SerializeObject(clientDatas), Encoding.UTF8, "application/json");
                var response = await client.PostAsync("your-endpoint", datasBody);

example endpoint= https://mywebsitesurl.com/api/datas

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    • 2012-06-06
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多