c# - 如何为从 nuget 引用的库创建 Singleton 实例
问题描述
任务是多次调用第三方服务/包装器并获得响应。下面是示例代码,我试图弄清楚如何为服务创建单例实例。
class Program
{
static void Main(string[] args)
{
List<string> trips = new List<string>();
trips.Add("ABC");
trips.Add("XYZ");
foreach (string s in trips) {
Test.TestMethod(s);
}
}
}
public static class Test
{
public static bool TestMethod(string trip)
{
BridgeApiClient bridgeApiClient = new BridgeApiClient("http://localhost/Service.svc", "username", "password");
TripRequest tr = new TripRequest();
tr.TripNumber = trip;
var response = bridgeApiClient.GetTrip(tr);
return true;
}
}
解决方案
您可以只声明一个static
成员变量并使用它:
public static class Test
{
private static readonly BridgeApiClient bridgeApiClient = new BridgeApiClient("http://localhost/Service.svc", "username", "password");
public static bool TestMethod(string trip)
{
TripRequest tr = new TripRequest();
tr.TripNumber = trip;
var response = bridgeApiClient.GetTrip(tr);
return true;
}
}
推荐阅读
- swift - PayUmoney PnP 查看 Bug Swift Xcode
- javascript - 在数组中查找具有给定字母的单词
- python - pymongo 获取所有集合的键
- r - 用R中的表格列制作堆积条形图
- tensorflow - 用于多类分割的 Dicescore
- c# - WPF ListView 上下文菜单
- amcharts - 使用 amCharts,如何在系列上方添加单个标签?
- c++ - 使用 libcurl 在 smtp 服务器上进行身份验证失败
- elasticsearch - elasticsearch java客户端解析聚合json查询
- api - 如何使用 API 从 PayU 获取所有订单?