0

我正在使用带有 Blazor WebAssembly(客户端)的 Azure CosmosDB。

我想在连接令牌过期时捕获 CosmosException,但没有得到 cosmos 异常,(发现空异常)

我还在控制台应用程序中尝试了相同的代码,因为我能够捕获显示令牌已过期的 cosmos 异常。

代码示例:

        using (CosmosClient client = new CosmosClient(account, token))
        {
            Database db = null;
            db = client.GetDatabase("databaseName");
            Container orgContainer = client.GetContainer("databaseName","containerName");
            
            try
            {
                ItemResponse<CosmosException> response = await orgContainer.ReadItemAsync<CosmosException>("test", new PartitionKey("test"));
                var data = response.Resource;
            }
            catch(CosmosException ex)
            {
                
            }
            catch(Exception ex)
            {

            }
       }

控制台应用程序异常详情

4

1 回答 1

0

这可能是因为异常发生在 try 块之外。此外,请确保不要在每个请求上都实例化新的 cosmos 客户端。这表现不佳。使用单例并在请求之间保持活动状态。

于 2020-07-11T17:46:56.043 回答