为什么 Task 在我的项目中不可等待?

2024-01-10

我有一个针对 .NET 4 框架的项目,并且我创建了一个更新数据库中数据的方法。该方法本身还使用一个标志 (runAsync) 来确定是否应该异步运行。我收到错误“System.Threading.Tasks.Task 不可等待”,但我在另一个应用程序中使用相同的代码并且工作正常。我做错了什么,或者我错过了什么才能让它发挥作用?

这是代码:

public static async Task<object> UpdateData(SecureData data, string userAgent, bool runAsync)
{
    object result;

    try
    {
        using (HttpClient client = new HttpClient())
        {
            client.BaseAddress = new Uri(_configUri);
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            HttpResponseMessage response = runAsync
                                                ? await client.PutAsJsonAsync(String.Format("api/securedata/update/{0}", data.Token), data)
                                                : client.PutAsJsonAsync(String.Format("api/securedata/update/{0}", data.Token), data).Result;

            result = runAsync
                            ? await response.Content.ReadAsAsync<object>()
                            : response.Content.ReadAsAsync<object>().Result;

            response.EnsureSuccessStatusCode();
        }
    }
    catch (HttpRequestException ex)
    {
        throw new HttpRequestException(ex.Message, ex.InnerException);
    }

    return result;
}

你不能使用async/await在 ASP.NET 4.0 上。您必须升级到 4.5。 http://blogs.msdn.com/b/webdev/archive/2012/11/19/all-about-httpruntime-targetframework.aspx

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

为什么 Task 在我的项目中不可等待? 的相关文章

随机推荐

  • 使用经过训练的分类器进行 NLTK 分类接口

    我找到了一小块代码here http streamhacker com 2010 05 10 text classification sentiment analysis naive bayes classifier import nltk
  • 扩展 jQuery 核心的用处

    我发现了一种扩展核心 jQuery init 函数的方法 每当您使用 或 jQuery 函数时都会调用该函数 使用普通代理模式不可能做到这一点 但以下代码可以使其工作 var origInit jQuery fn init jQuery f
  • DB2级联删除命令?

    是否有特殊的语法来在 DB2 上执行级联删除 或者是否只能通过使用 ON DELETE CASCADE 选项定义它们来创建 可级联 表 我想要实现的是 当我删除该键时 删除基于相同外键的其他表行 但这是在已经存在且填充数据的数据库上完成的
  • 如何迭代到较小的容器(即步幅!= 1)

    有一个问题在精神上很相似here https stackoverflow com questions 2476425 c stl stdtransform with given stride 不幸的是 这个问题没有引起太多回应 我想我会问一
  • Twitter bootstrap 响应式布局中的最小宽度

    有没有办法告诉 bootstrap 当分辨率小于以下值时不要缩小元素 Portrait tablet to landscape and desktop media min width 768px and max width 979px 我想
  • 如何将有理数格式化为小数?

    给定一个任意大 或小 Rational具有有限十进制表示形式的数字 例如 r Rational 1 2 15 gt 1 32768 如何以字符串形式获取其完整的十进制值 上述数字的预期输出是 0 000030517578125 to f显然
  • 如何使用 java JDBC 获取 MySql 的数据库“架构”名称列表

    如何使用 java JDBC 获取 MySql 的数据库 架构 名称列表 The getSchemas DatabaseMetaData 的方法是显而易见的 但对于 MySQL 你必须使用getCatalogs http download
  • 在没有forceRTL的情况下反应原生阿拉伯语(RTL)

    在 RN 我的双语应用程序 英语 阿拉伯语 中 我使用了I18nManager 意见 和I18n 用于翻译 当我将应用程序语言更改为阿拉伯语时 整个应用程序会使用以下代码从启动屏幕再次重新加载 I18nManager forceRTL tr
  • 为什么 get_weights 返回一个空列表?

    我正在自学数据科学 一些奇怪的东西引起了我的注意 在我正在编写的 DNN 示例教程中 我发现 Keraslayer get weights 函数为我的变量返回空列表 我已成功交叉验证并使用model fit 函数来计算召回分数 但当我尝试使
  • 如何使用 javascript 检测 iPhone/Android 从睡眠中唤醒

    我正在构建一个使用 sockets io 的网站 网络应用程序 目前 如果用户在 iphone 上使用 safari 并且锁定屏幕 变黑 我的套接字连接将关闭 这个不错 我想要这个 然而 当他们解锁屏幕 或从睡眠中醒来 时 我想用 java
  • 内联过滤 django admin - 限制选择列表

    鉴于我的内联管理 class TestInlineAdmin admin TabularInline model Test questions through extra 0 and then class QuestionAdmin adm
  • 无法将 UIButton 的自定义类更改为 GIDSignInButton

    我正在尝试将 Google 登录功能添加到自定义按钮 并且我正在关注this https www appcoda com google sign in how to 教程 它告诉我选择按钮 并将其类别设置为GIDSignInButton 然
  • 人们对 DVCS 化石有何看法? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 更新进程内的 GUI 项目

    我正在尝试为我的应用程序制作 GUI 但遇到了问题 使用PySimpleGUI我必须首先定义布局 然后才显示整个窗口 现在的代码是这样的 import PySimpleGUI as sg layout sg Text Input sg In
  • 可空字符串 (string?) 和初始化为可原谅空值的字符串 (字符串 s = null!) 之间有什么区别

    可空字符串 string 和初始化为可原谅空值的字符串 字符串 s null 之间有什么区别 public string nullableString get set null public string forgiveString get
  • “Visual Studio 需要更新版本的 Windows 才能显示此内容。”

    收到错误 Visual Studio 需要更新版本的 Windows 才能显示此内容 在 Xamarin 中使用 XAML 设计器工具时 关于我如何追踪其来源有什么想法吗 我使用的是 Windows 10 和 Visual Studio 2
  • 如何将 /?lang=en 重定向到 /en?

    我在将多语言网站重定向到一页时遇到问题 我的 htaccess 重定向无法正常运行 我需要有关如何完成此操作的帮助 在我的 htaccess 中 当我添加这两行时 RewriteCond QUERY STRING lang en Rewri
  • 需要 Google 地理编码返回英文城市名称

    我有这个代码用于请求谷歌更正输入的地址 并需要它返回城市的英文名称 function gmap query xml in address base url http maps google com maps geo output xml r
  • 反应本机 100+ 项目平面列表性能非常慢

    我有一个列表 只是简单的文本 可以在 React Native 上渲染为平面列表 但我遇到了非常非常慢的性能 这使得应用程序无法使用 我该如何解决这个问题 我的代码是
  • 为什么 Task 在我的项目中不可等待?

    我有一个针对 NET 4 框架的项目 并且我创建了一个更新数据库中数据的方法 该方法本身还使用一个标志 runAsync 来确定是否应该异步运行 我收到错误 System Threading Tasks Task 不可等待 但我在另一个应用