从 HttpClient.GetStringAsync 读取响应

2024-01-12

我正在使用 Windows Phone/Store 应用程序的新运行时开发 Windows 通用应用程序。我使用以下代码向服务器发送请求,并期望返回 HTML 响应。但是,当我返回字符串并将其显示在 UI 中时,它只是说:

“System.Threading.Tasks.Task'1[System.String]”

它没有向我显示应该返回的实际 HTML/XML。当我在普通的 Windows 窗体应用程序中使用相同的 URL 时,它会返回我期望的数据,但我在那里使用的代码有所不同,因为它是 Win32 而不是 WinRT/这个新的 RT。

这是我的代码。我怀疑我没有以正确的格式返回数据或其他内容,但我不知道我应该做什么。

var url = new Uri("http://www.thewebsitehere.com/callingstuff/calltotheserveretc");
var httpClient = new HttpClient();

        try
        {
            var result = await httpClient.GetStringAsync(url);
            string checkResult = result.ToString();
            httpClient.Dispose();
            return checkResult;
        }
        catch (Exception ex)
        {
            string checkResult = "Error " + ex.ToString();
            httpClient.Dispose();
            return checkResult;
        }

我认为问题不在于这段代码片段,而在于调用者。我怀疑此代码位于返回任务的方法中(正确以便调用者可以等待此方法的 HttpClient 调用工作),但调用者并未等待它。

代码片段看起来正确,并且与以下文档中的基本相同https://msdn.microsoft.com/en-us/library/windows/apps/windows.web.http.httpclient.aspx https://msdn.microsoft.com/en-us/library/windows/apps/windows.web.http.httpclient.aspx。 GetStringAsync 返回一个任务。 wait 将处理 Task 部分并将字符串返回到 var result 中。如果您打破函数内部并检查 result 或 checkResult,它们将是所需的字符串。

呼叫者也需要发生同样的事情。如果这是在一个函数中

Task<string> GetData() 
{
    // your code snippet from the post 
    return checkResult; // string return is mapped into the Task<string>
}

然后需要使用await 调用它来获取字符串而不是任务,并等待GetData 的内部await 完成:

var v = GetData(); // wrong <= var will be type Task<string>
var data = await GetData(); // right <= var will be type string

唯一不等待任务的情况是,如果您需要操作任务本身而不仅仅是获取结果。

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

从 HttpClient.GetStringAsync 读取响应 的相关文章

  • 从 C 中的 char* 获取单个字符

    有没有办法在 C 中逐字符遍历或从 char 中提取单个字符 考虑以下代码 现在获得单个角色的最佳方式是什么 建议我一种不使用任何字符串函数的方法 char a STRING 其他方式 char i for i a i i i points
  • 如何将不记名令牌发送到 ASP NET MVC 5 中的视图?

    我有一个 NET MVC and WEB API项目 我想打电话给WEB API controllers来自 javascript 但我没有找到将令牌发送到我的视图的方法 我想添加bearer token in Viewbag变量 使用以下
  • 使用空函数调用 hana::is_valid 的用途是什么?

    Boost Hana https www boost org doc libs 1 61 0 libs hana doc html index html offers boost hana is valid https www boost
  • 动态选择和更新 LINQ 结果集中的列值

    我有一个场景 其中存在 LINQ 结果集 我使用了以下查询 var stockDetails from d in db BloodBanks where d bbUserName Session username ToString sele
  • 在 C# 中轻松创建支持索引的属性

    在 C 中我发现索引属性 http msdn microsoft com en us library aa288464 VS 71 aspx非常有用 例如 var myObj new MyClass myObj 42 hello Conso
  • C++ 和序列化:有什么方法可以进行某种内省吗?

    我读过一些例子维基百科 http en wikipedia org wiki Type introspection C 2B 2B但我正在寻找一些现实生活中的例子 如何使用内省 为什么 它有助于编写干净的代码 以及代码本身 例如 有没有办法
  • 计算复杂数组的abs()值的最快方法

    我想计算 C 或 C 中复杂数组元素的绝对值 最简单的方法是 for int i 0 i lt N i b i cabs a i 但对于大向量来说 速度会很慢 有没有办法加快速度 例如使用并行化 语言可以是 C 或 C 鉴于所有循环迭代都是
  • 为什么将 char 传递给函数会改变它在 c 中的值?

    我目前正在关注本作业簿 http www cs bham ac uk exr lectures opsys 10 11 lectures os dev pdf关于构建操作系统 我的目的是写一个64位内核 我已经在文本模式下加载 内核 代码并
  • 我的 WPF 应用程序未触发 MainWindow_Loaded

    我目前正在关注Pluralsight C Fundamentals Part 1并在Classes and Objects视频部分指导我在 Visual Studio 中创建一个新的 WPF 应用程序并填写代码 这导致以下结果 namesp
  • 多维数组和指向指针的指针

    创建多维数组时char a 10 10 根据我的书 它说你必须使用类似于char a 10 将数组传递给函数 为什么必须这样指定长度 您不是只是将双指针传递给 with 并且该双指针不是已经指向分配的内存吗 那么为什么参数不能是char a
  • 函数指针上的未知类型 F TYPE

    include
  • 如何从Web JavaScript应用程序获取桌面C#程序中的变量

    我遇到一个问题 有两个应用程序 一种是 C 中的桌面应用程序 另一种是 javascript 中的 Web 应用程序 运行桌面应用程序中的一些变量或信息需要传输到Web应用程序 有谁知道如何解决这个问题 有人愿意提供更多细节来解决这个问题吗
  • 为什么我无法调试动态加载的程序集?

    我正在开发一个 Web API 项目 该项目使用内部模拟框架 允许拦截和修改来自控制器的响应 它使用 MEF 加载包含某些先决条件匹配时执行的代码的程序集 我知道这是正常工作的 因为我可以在响应中看到模拟已被执行 但由于某种原因我无法调试动
  • 如何在 Visual Studio 2010 Express 中引用 system.drawing?

    我对此有点陌生 我的印象是要绘制我创建的矩形 我需要使用 system drawing graphics 问题是 我收到错误 命名空间 System 中不存在类型或命名空间名称 drawing 您是否缺少程序集引用 当我右键单击解决方案资源
  • 使用 _Alignas 进行结构成员对齐

    我想知道以下问题 是新的吗 Alignas结盟 C11 中的说明符适用于结构成员吗 我一直假设这么多 但彻底阅读了 N1570 公开草案似乎表明对齐说明符不能 出现在一个说明符限定符列表 这就是我所期望的 如果得到支持的话 我已经读过几遍语
  • 返回 ICollection 而不是 List 的真正优势是什么? [复制]

    这个问题在这里已经有答案了 我读过几篇博客文章 提到对于公共 API 我们应该始终返回 ICollection 或 IEnumerable 而不是 List 返回 ICollection 而不是 List 的真正优势是什么 Thanks 复
  • 用于 nmap 输出的 C++ xml 解析器

    我是 nmap 的新手 我在 nmap 教程中看到 https nmap org book man output html https nmap org book man output html oX 选项可用于获取 xml 格式的 nma
  • 在Framework 4.6项目中使用.net core DLL

    我已经在 net core 2 0 中构建了一个 DLL 现在我想在使用 net 4 6 1 框架的 WinForms 项目中使用它 我可以引用该 dll 但收到 System IO FileLoadException 表示找不到 Syst
  • char[length]初始化并处理

    我定义了一个字符数组 char d 6 如果我在以下方面有误 请纠正我 此时没有为变量分配内存d 现在我要初始化它 d aaaaa 这种初始化之后 就不需要释放内存了 它将自动完成 我怎么知道是否char 被初始化了吗 我正在寻找类似的模式
  • asp.net mvc GET 请求上的 formcollection 应该为空

    我正在发布一个简单的操作 public void Login FormCollection formCollection 即使查询字符串值很少 formcollection Count is 0 是靠行为吗 FormCollection 使

随机推荐

  • 使用 ReactJS 和 React Router 更改每个路由的页面背景颜色?

    使用 ReactJS 和 React Router 前往新路线时如何更改浏览器背景颜色 请参阅下面我的编辑 了解我一路上想到的想法 我可以让它工作 div 在每个页面视图中 但我需要它在完整背景上工作 以便完整浏览器窗口显示背景 我正在使用
  • 追加后如何检查元素是否存在?

    以下脚本应该附加一个元素 我首先检查该元素是否存在 如果不存在 我将创建它并附加它 问题是 由于某种原因 检查似乎不起作用 它不断地一遍又一遍地创建元素 问题 如何检查append后元素是否存在 我的jsfiddle https jsfid
  • 如何将IntelliJ与本地MySQL连接?

    我一直在努力学习如何在本地主机 MySQL 和 IntelliJ 上连接并编写数据库相关任务 那可能吗 如果是 如何实现 连接到本地实例与连接到远程 MySQL 实例本质上相同 只需将 localhost 或 127 0 0 1 替换为您通
  • firebase 可以 100% 离线运行并稍后同步吗?

    我需要构建一个用于任务工作的应用程序 该应用程序可以 100 离线运行 然后在重新连接到互联网时与服务器同步 该应用程序 目前 的数据库中有超过 6000 人 当传教士在现场时需要对其进行搜索 挑战在于我需要在多台笔记本电脑或平板电脑上本地
  • 将数组转换为对象数组

    如何将数组转换为 JavaScript 对象数组 例如我有一个数组 data fruits frozen fresh rotten apples 884 494 494 oranges 4848 494 4949 kiwi 848 33 3
  • 如何将 System.Data.SQLite 合并到单个可执行程序中?

    我正在尝试用 C 创建一个单一可执行应用程序 其中包括 SQLite System Data SQLite 依赖于一个非托管 DLL SQLite Interop dll 因此我无法将其与 ILMerge 合并 如何将 System Dat
  • 给定图上无向图 BFS 的“邻接矩阵”表示并输出顶点

    我可以在二维数组数组中找到BFS和DFS值 但是得分没有增加 我无法确切地弄清楚我做错了哪一部分 当我打印应该的值时 排序是正确的 但成绩仍然是 0 我对你的想法持开放态度 public class BFS DFS public stati
  • 在haproxy中使用环境变量

    希望有人能指出我正确的方向 我正在尝试将 HAProxy 配置为使用环境变量 来自操作系统 作为 acl 语句的一部分 因此 如果在启动或重新加载 HAProxy 时将环境变量设置为 true 则将授予访问权限 如果环境变量设置为 fals
  • bash 中的日期 - 月份没有前导 0 或空格?

    有人知道如何像这样显示日期吗 7 1 2019 我目前有这个 它在月份中添加前导 0 LC ALL nn NO UTF 8 date d m Y 像这样 7 01 2019 我在 lynx dump 命令中使用这些 您已经删除了当天的填充
  • 如何使用 Twitter Bootstrap 获取居中内容?

    我试图遵循一个非常基本的例子 使用起始页和网格系统 http getbootstrap com css grid 我希望以下内容 div class row div class span12 h1 Bootstrap starter tem
  • 大虾使用pdf模板

    我想用大虾生成一个使用PDF模板的文档 我没有收到任何错误 但模板被完全忽略 有谁知道为什么会这样 我真的很感激任何帮助 class JobPdf lt Prawn Document def initialize job super job
  • DI 容器如何工作的最简单解释?

    简单来说和 或在高级伪代码中 DI 容器如何工作以及如何使用 DI 容器的核心是基于以下内容创建对象 mappings接口和具体类型之间 这将允许您从容器请求抽象类型 IFoo f container Resolve
  • 头文件和标准库

    我是编程新手 目前正在学习C 我知道头文件仅包含声明和函数原型 而不包含函数本身 我对么 据我所知 库是一个包含不同目标代码的单个文件 这些目标代码是否必须只能用C语言编写 或者也可以使用其他语言来生成这样的目标代码 在链接时 整个库文件是
  • JXBrowser java.ipc.external=true 虚拟机参数

    我想知道这个论证到底是做什么的 并了解潜在的缺点这个争论可能会导致 我尝试在互联网上搜索这个虚拟机参数 但我找不到任何内容 默认情况下 在 macOS 上 JxBrowser 在 Java 进程中初始化 Chromium 引擎 Chromi
  • 当 2 个测试用例失败时,Gitlab CI 管道中的测试标记为通过

    我们有一个在 Gitlab 中管理的项目 带有用于构建和测试 pytest Google 测试 的 CI 管道 我们在 Google 测试中的两三个测试用例失败了 但Gitlab认为测试阶段是成功的 是因为成功率超过90 任意值 吗 如果我
  • 如何使用 NSCache 从 UICollectionView 中的 Web 服务器异步加载图像

    使用 NScache 从 UICollectionView 中的 Web 服务器加载图像时遇到一些问题 问题 图像未正确显示 有时它们没有显示在相应的单元格中 or 图像在滚动时发生变化 情况 我有 3 个数组 它们在函数 viewDidL
  • 给定一个日期如何获取该周的星期日和星期六

    我想获取提供日期的一周中的星期日和星期六 我只能访问以下功能 getDate 返回 0 6 之间的数字 0 表示星期日 getDay 返回 1 31 之间的数字 getMonth 返回 0 11 之间的数字 getFullYear 返回当前
  • 如何在 Android NDK Revision 11 中在 gcc 和 clang 之间切换?

    我正在使用带有 NDK 修订版 11 的 Android studio 1 5 1 该版本声明 NDK 中的 GCC 现已弃用 取而代之的是 Clang 我需要在 clang 和 gcc 之间切换并自定义标志 但是应用程序的配置以及使用 A
  • 使用Powershell安装系统字体

    我有一个文件夹 里面装满了自定义字体的 TTF 文件 我需要使用 powershell 脚本将它们安装为系统字体 这是在 Windows Server 2008 R2 上 有人知道如何在 powershell 中做到这一点吗 谢谢 这很简单
  • 从 HttpClient.GetStringAsync 读取响应

    我正在使用 Windows Phone Store 应用程序的新运行时开发 Windows 通用应用程序 我使用以下代码向服务器发送请求 并期望返回 HTML 响应 但是 当我返回字符串并将其显示在 UI 中时 它只是说 System Th