tra*_*max 7 c# azure lifetime-scoping azure-cosmosdb
要访问DocumentDB/CosmosDB,我正在使用包Microsoft.Azure.DocumentDB.Core
(v1.3.2).当我创建并初始化DocumentClient
类时,我注意到了:
var documentClient = new DocumentClient(new Uri(endpointUrl), primaryKey);
await documentClient.OpenAsync();
Run Code Online (Sandbox Code Playgroud)
向端点发出了许多请求以获取有关索引和其他信息的信息.确切地说,有9个HTTP请求正在进行中.OpenAsync()
.这使得客户端的创建和激活在性能方面成本非常高 - 需要一秒钟才能将所有请求带回家.
因此,为了减轻这种代价高昂的操作,我正在制作DocumentClient
一个单例,并在应用程序的生命周期内保持参考.
应用程序是Asp.Net Core MVC,这可能会将此对象的引用保留在内存中数天.
问题:可以将此对象保持为单例吗?如果不是,应该采取什么策略来处置它?或者有没有办法使初始化更便宜(即不要做出这些初始请求?).
归档时间: |
|
查看次数: |
1564 次 |
最近记录: |