我有一个由 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 中,我尝试创建一个“配置类”,但无法轻松了解如何使用它或将其应用于此场景。