Azure 表存储警告 - WCF 数据服务已过时

2024-03-28

升级到新的存储 API 版本 4.2 后,我收到以下警告,提示我在某些分段查询上调用过时的方法。

'Microsoft.WindowsAzure.Storage.Table.CloudTableClient.GetTableServiceContext()' 已过时:“支持通过 WCF 数据访问 Windows Azure 表” 服务现在已经过时了。建议您使用 用于使用的 Microsoft.WindowsAzure.Storage.Table 命名空间 桌子。

到目前为止,我还没有弄清楚如何在新的 API 上实现这一点,也没有找到我能找到的示例。遗留代码仍然运行良好,但如果新的 API 支持更好的东西,我很乐意检查它并摆脱这个警告。有人能给我指出正确的方向吗?使用新的 API 进行这样的分段查询会是什么样子?

这是我的代码当前的样子,带有警告:

public AzureTablePage<T> GetPagedResults<T>(Expression<Func<T, bool>> whereCondition, string ContinuationToken, int PageSize, string TableName) {
    TableContinuationToken token = GetToken(ContinuationToken);

    var query = AzureTableService.CreateQuery<T>(TableName).Where(whereCondition).Take(PageSize).AsTableServiceQuery(AzureTableClient.GetTableServiceContext());
    var results = query.ExecuteSegmented(token, new TableRequestOptions() { PayloadFormat = TablePayloadFormat.JsonNoMetadata });
    if (results.ContinuationToken != null) {
        return new AzureTablePage<T>() { Results = results.ToList(), HasMoreResults = true, ContinuationToken = string.Join("|", results.ContinuationToken.NextPartitionKey, results.ContinuationToken.NextRowKey) };
    } else {
        return new AzureTablePage<T>() { Results = results.ToList(), HasMoreResults = false };
    }
}
public TableServiceContext AzureTableService {
    get {
        var context = AzureTableClient.GetTableServiceContext();
        context.IgnoreResourceNotFoundException = true;
        return context;
     }
}
public CloudTableClient AzureTableClient {
    get {
        return mStorageAccount.CreateCloudTableClient();
    }
}

Solution

对于有同样问题的人,这里是更新的代码。

    /* Add the following Using Statement */
    using Microsoft.WindowsAzure.Storage.Table.Queryable;

    public AzureTablePage<T> GetPagedResults<T>(Expression<Func<T, bool>> whereCondition, string ContinuationToken, int PageSize, string TableName) where T : class, ITableEntity, new() {
        TableContinuationToken token = GetToken(ContinuationToken);
        var query = AzureTableClient.GetTableReference(TableName).CreateQuery<T>().Where(whereCondition).Take(PageSize).AsTableQuery();
        var results = query.ExecuteSegmented(token, new TableRequestOptions() { PayloadFormat = TablePayloadFormat.JsonNoMetadata });
        if (results.ContinuationToken != null) {
        return new AzureTablePage<T>() { Results = results.ToList(), HasMoreResults = true, ContinuationToken = string.Join("|", results.ContinuationToken.NextPartitionKey, results.ContinuationToken.NextRowKey) };
    } else {
        return new AzureTablePage<T>() { Results = results.ToList(), HasMoreResults = false };
    }
}

请参阅表深入探讨博客文章 http://blogs.msdn.com/b/windowsazurestorage/archive/2012/11/06/windows-azure-storage-client-library-2-0-tables-deep-dive.aspx这是我们在首次引入新的表服务层时发布的。如果您需要 LINQ 支持,另请参阅Azure 存储客户端库 2.1 博客文章 http://blogs.msdn.com/b/windowsazurestorage/archive/2013/09/07/announcing-storage-client-library-2-1-rtm.aspx.

我们强烈建议升级到表服务层,因为它针对NoSQL场景进行了优化,因此可以提供更好的性能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Azure 表存储警告 - WCF 数据服务已过时 的相关文章

  • Azure存储帐户说明-总请求图表

    有人可以帮助我了解 Azure 存储帐户的机制以及发出某些 请求 时会发生什么吗 请求被分解为 Blob 表 队列和文件资源 我的设置是创建了一个 Azure 媒体服务 并在上传视频文件时创建了 5 个 Blob 每个视频 1 个 当某种类
  • 用于发布 APIM 开发人员门户的 Powershell 脚本[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 I am planning to publish the developer portal using powershe
  • 如何在生产和开发环境上一致地获取 ASP.NET 5 DNX 项目的应用程序基路径?

    我已从 Git 将 ASP NET MVC 6 网站部署到 Azure 部署的详细信息可以在这篇博文 http devonburriss me aspnet vsonline ci 但基本上我使用 DNU 来发布它 然后使用 kudu 将其
  • 从 Azure 流分析将数据插入 Azure SQL 数据库表时出现“OutputDataConversionError.TypeConversionError”

    我正在尝试学习 Azure IoT 我正在尝试将 MQTT 消息发送到 IoT 中心 在 IoT 中心 我使用流分析将数据输出到 SQL 数据库中 但目前在流分析输出中 我遇到此错误 9 12 30 AM 源 OUTPUTSQL 在处理时间
  • 通过 pyodbc 连接到 Azure SQL 数据库

    我使用 pyodbc 连接到本地 SQL 数据库 该数据库工作正常 SQLSERVERLOCAL Driver SQL Server Native Client 11 0 Server localdb v11 0 integrated se
  • 使用 Azure Bot Framework Web 聊天无法单击电话号码

    Setup 我使用以下命令创建了一个 Azure QnA Web 聊天机器人QnAMaker https www qnamaker ai Azure 机器人服务 https azure microsoft com en us service
  • Microsoft Graph API 中的一个或多个属性包含无效值

    我想在 Azure Active Directory B2C 上创建用户 我按照给定链接中的每个步骤进行操作Here https learn microsoft com en us azure active directory b2c ac
  • AZURE:workerrole 中的异步 Run()

    我有一个异步任务 async Task UploadFiles 我想在 azure 工作者角色的 Run 方法中调用 UploadFiles 上的 等待 但 await 仅适用于声明为异步的方法 那么我可以使 Run 方法异步 如下所示 p
  • 使用 localhost 端点从 Web 作业访问 Azure Web 应用程序?

    如果我在 Azure 中部署了一个 Web 应用程序 ASP NET MVC 并且还配置了一个与该 Web 应用程序一起运行的 Web 作业 那么我的理解是 该 Web 作业是一个运行并等待的控制台应用程序 或类别 来自队列的消息 当消息到
  • authContext.AcquireTokenSilentAsync 抛出错误

    我参考了this https github com Azure Samples active directory dotnet graphapi web git 项目 该项目具有用于连接并获取有关用户配置文件的信息的代码 在运行该项目时 我
  • 在azure应用程序服务中使用docker-compose

    我的平均堆栈代码在 docker compose 配置中工作 如果我跑docker compose up在我的电脑上 然后我可以成功登录我的应用程序localhost如果转到应用程序服务并单击 docker compose 预览选项并上传我
  • Azure 应用服务 VS WebJob

    我对单独使用应用程序服务和将应用程序服务与网络作业结合使用之间的差异感到困惑 我有一个计算密集型任务 2 20 分钟 必须手动触发 用户不时要求它 现在一切都发生在一个应用程序服务中 我正在考虑将这个繁重的过程提取到另一个应用程序服务中的网
  • Azure SQL 数据库流量迁移到较新的网关

    收到来自 azure 的关于 Azure SQL 数据库流量迁移到较新网关的电子邮件 电子邮件中有几个链接 包括Azure SQL 数据库流量迁移到较新的网关 https learn microsoft com en us azure sq
  • 无法从表存储中获取记录

    我有一个表存储表 我想从中获取一些数据 插入和更新查询工作正常 但当我尝试选择一些记录时遇到问题 下面是我到目前为止所做的代码 class TransactionEntity TableEntity public String s get
  • 如何使用 Python 从 Azure Functions 中的辅助线程重定向日志

    我正在使用 Azure 函数运行启动多个线程的 Python 脚本 出于性能原因 一切都按预期工作 但 Azure Functions 日志中仅显示来自 main 线程的信息日志 我在 main 中启动的 辅助 线程中使用的所有日志都不会出
  • 停止/终止按消耗计划运行实例的 Azure Functions

    如何在消耗计划 以前称为动态计划 上终止 azure 函数可运行实例 执行 我正在运行时版本 1 0 上运行 azure 函数 很少有 一些未显示在下面屏幕截图的日志中 运行时间超过了五分钟函数超时阈值 检查具有 DOTTED 状态的 然而
  • 无法在 Azure Functions 中创建文件

    我有一个在应用服务计划上运行的 Azure 功能 此函数应用程序从 sftp 下载文件并执行一些处理 验证 然后上传到 blob 存储 这是工作代码 我必须进行一些更改 以便我必须保存物理文件 FileStream 而不是 MemorySt
  • Connect-AzAccount 无提示

    我正在尝试使用以下方式登录 Azure 门户 Connect AzAccount 此代码要求我输入我不想要的提示 我们可以使用一些简单的配置脚本自动登录吗 正如Joy所说 您可以通过凭据使用用户帐户登录 但不会出现任何提示 请确保您的帐户未
  • Azure PostgreSQL 服务器服务排序规则创建错误

    我正在尝试将当前现有数据库导入到 Azure PostgreSQL 服务器上运行的 postgre 实例 我已经将我的azure postgresql服务器参数配置为使用UTF8编码 我不确定它是否在不重新启动的情况下应用 但即使我没有重新
  • 您可以在一个 Windows Azure 实例上部署多个 Web 应用程序吗?

    是否可以在一个 windows azure 小型计算实例中运行一堆 Web 应用程序 我正在考虑使用 Azure 作为放置一堆处于开发和非生产状态的项目 Web 应用程序 的地方 有些实际上已经被封存了 但我想在某个地方有一个活跃的实例 我

随机推荐