【发布时间】:2019-09-20 15:51:34
【问题描述】:
我有一个由 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 中,我尝试创建一个“配置类”,但无法轻松了解如何使用它或将其应用于此场景。
【问题讨论】:
标签: nswag nswagstudio