为什么 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 在我的项目中不可等待? 的相关文章

  • copy_from_user() 错误:目标大小太小

    我正在为内核模块编写 ioctl 处理程序 我想从用户空间复制数据 当我编译禁用优化的代码时 O0 gflags 编译器返回以下错误 include linux thread info h 136 17 error call to bad
  • 非模板函数中的尾随返回类型[重复]

    这个问题在这里已经有答案了 我见过有人使用以下语法来实现函数 auto get next gt int 代替 int get next 我理解两者 并且我知道尾随返回类型语法对于使用 decltype 的模板代码很有用 就我个人而言 我会避
  • 如何在 C++ 中为指针“this”赋值

    在函数中 如何分配this一个新的价值 您可以分配对象this点于 this XY 但你不能分配直接值this this XY Error Expression is not assignable
  • Visual Studio 2013 调试器显示 std::string 的奇怪值

    我有一个大型的 cmake 生成的解决方案 其中包含许多项目 由于某种原因 我无法查看字符串的内容 因为根据调试器 Bx Buf含有一些垃圾 text c str 正确返回 Hello 该问题不仅仅发生在本地字符串上 返回的函数std st
  • 我担心我添加了太多接口

    我正在构建我的领域模型并继续重构它 正如我所做的那样 我发现我喜欢接口 因为它允许我根据接口为具体类型创建可重用的方法 控制器 视图 但是 我发现每次向域实体之一添加新属性时 我都会创建一个接口 例如 我有一个会员状态从抽象继承的对象Ent
  • 维护 VS Test Project 中单元测试方法之间的上下文

    我想按顺序运行以下单元测试 使用随机数字的名称 密码等创建新客户 检索刚刚创建的客户并断言其属性包含相同的随机数 对同一用户调用 ForgotPassword 函数 并使用相同的随机数作为用户名 清楚地看到 我需要生成一次随机数 并在 3
  • 用于 C++ 中图像分析的 OpenCV 二进制图像掩模

    我正在尝试分析一些图像 这些图像的外部周围有很多噪声 但内部有一个清晰的圆形中心 中心是我感兴趣的部分 但外部噪声正在影响我对图像的二进制阈值处理 为了忽略噪音 我尝试设置一个已知中心位置和半径的圆形蒙版 从而使该圆之外的所有像素都更改为黑
  • 大量互斥体对性能的影响

    假设我有一个包含 1 000 000 个元素的数组 以及多个工作线程 每个线程都操作该数组中的数据 工作线程可能会使用新数据更新已填充的元素 但每个操作仅限于单个数组元素 并且独立于任何其他元素的值 使用单个互斥锁来保护整个数组显然会导致高
  • 从图像创建半透明光标

    是否可以从图像创建光标并使其半透明 我目前正在拍摄自定义图像并覆盖鼠标光标图像 如果我可以将其设为半透明 那就太好了 但不是必需的 销售人员喜欢闪亮的 目前正在做这样的事情 Image cursorImage customImage Get
  • ASP.NET - Crystal Report Viewer 打印按钮在 ASP.NET 中不起作用

    我正在使用 Visual Studio 2008 但我遇到了水晶报告问题 当我单击打印按钮时 它会将我带到弹出窗口 但未找到页面 弹出的网址是 http localhost aspnet client System Web 2 0 5072
  • 为什么连续抛出 2 个异常不会生成无法访问的代码警告?

    为什么以下代码行不会创建编译器警告 void Main throw new Exception throw new Exception 据我所知 编译器应该通知您无法到达第二个抛出异常 这显然是一个编译器错误 它是在 C 3 0 中引入的
  • 为什么这个位图图像在加载后会改变大小?

    快速提问 我有这个1000 1000位图图像 我使用这个例程来加载它 private BitmapSource initialBitmap new BitmapImage new Uri C Users Desktop Original b
  • 从单应性估计 R/T

    我一直在尝试计算 2 个图像中的特征 然后将这些特征传递回CameraParams R没有运气 特征已成功计算并匹配 但是问题是将它们传递回R t 我明白你必须分解Homography为了使这一点成为可能 我已经使用如下方法完成了 http
  • g++ / gcc 是否支持 C++20 新的atomic_flag 功能?

    根据参考参数 https en cppreference com w cpp atomic atomic flag c 20 有丰富的 对我来说有用的 支持atomic flag运营 然而 目前尚不清楚 gcc 是否支持这些功能 它们在任何
  • 如何防止 Lotus Notes 用户转发或复制通过 System.Net.Mail 发送的邮件?

    我想使用 SMTP 客户端 uiing microsft net 以 C 作为编程语言发送电子邮件 但是对于通过SMTP客户端发送的电子邮件 我们是否可以添加 禁止转发 或 禁止复制 等安全功能 我不希望电子邮件的收件人转发或复制电子邮件的
  • 在 IBAction 中调用其他函数之前,如何使函数完成?

    我无法理解完成处理程序 我有一个 textFieldEditingDidChange IBAction 首先调用verify 文本字段输入上的函数然后是 if 语句在 apply 返回的布尔值上 问题是 if 语句在 verify 完成之前
  • 如何配置 qt Creator 以显示 C++ 代码而不是反汇编程序?

    昨天我做了很多事情 比如更新 GCC Clang 和重新安装 Qt Creator 今天 在逐步调试我的代码时 调试器显示的是反汇编代码 而不是我编写的 C 代码 紧迫F10 or F11 调试器正在进入汇编代码而不是 cpp nor h我
  • 稀疏矩阵超定线性方程组c/c++库

    我需要一个库来解决 Ax b 系统 其中 A 是一个非对称稀疏矩阵 每行有 8 个条目 而且可能很大 我认为实现双共轭梯度的库应该没问题 但我找不到一个有效的库 我尝试过 iml 但 iml sparselib 包中缺少一些标头 有小费吗
  • 将同步 zip 操作转换为异步

    我们有一个现有的库 其中一些方法需要转换为异步方法 但是我不确定如何使用以下方法执行此操作 错误处理已被删除 该方法的目的是压缩文件并将其保存到磁盘 请注意 zip 类不公开任何异步方法 public static bool ZipAndS
  • NHibernate:无状态会话错误消息无法获取代理

    我正在使用 nHibernate 无状态会话来获取对象 更新一个属性并将对象保存回数据库 我不断收到错误消息 无状态会话无法获取代理 我在其他地方有类似的代码 所以我不明白为什么这不起作用 有谁知道问题可能是什么 我正在尝试更新Screen

随机推荐

  • 使用经过训练的分类器进行 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 不可等待 但我在另一个应用