我有一个由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调试)来设置本地或生产端点。
由于所有这5个客户端都以单例方式注入依赖项,是否有一种简单的方法来配置所有5个要使用的客户端的BaseUrl?我知道我可以在所有5个客户端上尽早设置BaseUrl,但是我觉得有一种简单的方法可以做到,那就是复制意大利面。
谢谢!
编辑:在NSwagStudio中,我尝试创建一个“配置类”,但无法轻松查看如何使用它或将其应用于这种情况。
答案 0 :(得分:0)
您可以将serverHost设置为“。”,以便url是ctor参数