当我尝试在后台工作服务中初始化 Cosmos 客户端时,出现错误。
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Configuration.ConfigurationErrorsException: Configuration system failed to initialize
\---\> System.MissingMethodException: Cannot dynamically create an instance of type 'System.Configuration.ClientConfigurationHost'. Reason: No parameterless constructor defined.
at System.RuntimeType.ActivatorCache..ctor(RuntimeType)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean, Boolean)
at System.Configuration.Internal.ConfigSystem.System.Configuration.Internal.IConfigSystem.Init(Type, Object\[\] )
at System.Configuration.ClientConfigurationSystem..ctor()
at System.Configuration.ConfigurationManager.EnsureConfigurationSystem()
\--- End of inner exception stack trace ---
at System.Configuration.ConfigurationManager.EnsureConfigurationSystem()
at System.Configuration.ConfigurationManager.PrepareConfigSystem()
at System.Configuration.ConfigurationManager.GetSection(String)
at System.Configuration.ConfigurationManager.get_AppSettings()
**at Microsoft.Azure.Cosmos.DocumentClient.Initialize**(Uri, ConnectionPolicy , Nullable`1 , HttpMessageHandler , ISessionContainer , Nullable`1 , IStoreClientFactory , TokenCredential , String , RemoteCertificateValidationCallback , CosmosClientTelemetryOptions )
at Microsoft.Azure.Cosmos.DocumentClient..ctor(Uri, AuthorizationTokenProvider, EventHandler`1, ConnectionPolicy , Nullable`1 , JsonSerializerSettings , ApiType , EventHandler`1 , HttpMessageHandler , ISessionContainer , Nullable`1 , Func\`2 , IStoreClientFactory , Boolean , String , RemoteCertificateValidationCallback , CosmosClientTelemetryOptions , AvailabilityStrategy , IChaosInterceptorFactory )
at Microsoft.Azure.Cosmos.ClientContextCore.Create(CosmosClient, CosmosClientOptions)
at Microsoft.Azure.Cosmos.CosmosClient..ctor(String, AuthorizationTokenProvider, CosmosClientOptions)
我的代码片段
var endPoint = "https:/endpoint-URI:443/";
var key = "api-Key";
CosmosClient cosmosClient = new CosmosClient(endPoint,key); // i get error here
var databaseName = "dbName";
var containerName = "containerName";
var container = cosmosClient.GetContainer(databaseName, containerName);
var upsertOrder = new
{
id = new Guid(),
Partition = "",
Ticker = "ABC"
};
var response = await container.CreateItemAsync(item: upsertOrder)
我应该能够初始化 Cosmos 客户端来访问数据
此错误与 Cosmos DB SDK 无关。 SDK 是异常根源的原因是它尝试使用
System.Configuration
API。
该错误与应用程序配置和正在使用的框架有关,
System.Configuration.ConfigurationManager
包存在一些问题。
参见: