1

我有一个由 NSwagStudio 生成的 API 客户端。我的端点之一的构造函数如下所示:

 private string _baseUrl = "http://localhost:11957";
    private System.Net.Http.HttpClient _httpClient;
    private System.Lazy<Newtonsoft.Json.JsonSerializerSettings> _settings;

    public AccountClient(System.Net.Http.HttpClient httpClient)
    {
        _httpClient = httpClient; 
        _settings = new System.Lazy<Newtonsoft.Json.JsonSerializerSettings>(() => 
        {
            var settings = new Newtonsoft.Json.JsonSerializerSettings();
            UpdateJsonSerializerSettings(settings);
            return settings;
        });
    }

   public string BaseUrl 
        {
            get { return _baseUrl; }
            set { _baseUrl = value; }
        }

大约生成了 5 个这样的客户端。显然,对于生产环境,我希望我的 API 端点有所不同。目前我使用编译器提示(#if debug)来设置本地或生产端点。

因为所有 5 个客户端都作为单例注入依赖项,有没有一种简单的方法来配置 BaseUrl 以供所有 5 个客户端使用?我知道我可以在所有 5 个客户端的早期设置 BaseUrl,但我觉得必须有一种更简单的方法来完成它,然后只是复制意大利面。

谢谢!

编辑:在 NSwagStudio 中,我尝试创建一个“配置类”,但无法轻松了解如何使用它或将其应用于此场景。

4

1 回答 1

1

您可以将 serverHost 设置为“.” 这样 url 就是一个 ctor 参数

于 2019-05-03T20:11:42.840 回答