作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在我的 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/
我是一名优秀的程序员,十分优秀!