gpt4 book ai didi

c# - 如何在不使用表上下文的情况下忽略表存储资源未找到异常?

转载 作者:太空狗 更新时间:2023-10-29 23:50:05 36 4
gpt4 key购买 nike

在我的 C# 应用程序中,我通过以下代码初始化一个 CloudTable 实例:

        var account = CloudStorageAccount.Parse(connectionString);
var client = account.CreateCloudTableClient();
client.DefaultRequestOptions.RetryPolicy = new LinearRetry();

var table = client.GetTableReference(tableName);
table.CreateIfNotExists();

return table;

当我执行从表存储中检索记录的操作时,我通常会这样做:

var realEntity = _table.Value.ExecuteQuery(StreamKeyConfigurationEntity.CreateQuery(calculatedPartitionKey, calculatedRowKey))
.SingleOrDefault();

在生产一段时间后,我注意到这条线返回了一些 404 异常。环顾四周后,当表存储没有任何匹配的实体时,这似乎是正常行为,这很烦人。

好消息是我看到了几篇文章(例如 this one,它们声称您可以通过将 IgnoreResourceNotFoundException 属性设置为 true 来解决这个问题。

完美,除了它使用 TableContext 而不是 CloudTable。这是一个问题,intellisense 明确表示要使用 Table 命名空间而不是上下文命名空间,因为 GetTableServiceContext() 方法被标记为已过时。

有没有什么方法可以完全忽略资源未找到的异常,这样我就不必使用 CloudTable 东西将所有查询包装在 try/catch 中?

最佳答案

抱歉,库忽略根据服务的 REST 契约(Contract)返回的某些异常通常是危险的。如果您有特殊要求并希望忽略异常,则应使用启用此功能的内置语言功能(即 try-catch)。

关于c# - 如何在不使用表上下文的情况下忽略表存储资源未找到异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35580287/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com