ICslQueryProvider.ExecuteQuery线程安全吗?

时间:2019-07-12 23:16:35

标签: c# thread-safety kusto azure-data-explorer

我想让多个线程在同一个kusto ICslQueryProvider上查询kusto。这个线程安全吗?

我当前锁定了资源,但希望异步处理

var client = Kusto.Data.Net.Client.KustoClientFactory.CreateCslQueryProvider("https://help.kusto.windows.net/Samples;Fed=true");
var reader = client.ExecuteQuery("MyTable | count");

1 个答案:

答案 0 :(得分:1)

The docs状态:

  

更具体地说,创建一个类似于ADO.NET的客户端以允许查询   针对Kusto,在   Kusto.Data.Net.Client.KustoClientFactory类。这些采取   连接字符串,并创建一个线程安全的一次性客户端对象。   (强烈建议客户代码不要创建   此对象的“太多”实例,而是每个对象创建一个对象   连接字符串,并在需要时一直保持它。)   允许客户端对象有效地缓存资源。

     

通常,客户端上的所有方法都是线程安全的,其中两个   例外:处理和设置器属性。为了获得一致的结果,   一个人不应同时调用这两种方法。

是的,您的client是线程安全的。

相关问题