Windows Phone 8 HttpClient Get 方法返回奇怪的结果

2024-04-24

我正在开发一个 Windows Phone 8 应用程序,它将一些数据发送到服务器,服务器执行该数据并返回结果。可以随时查询服务器以获取当前执行的状态,可以是正在初始化、正在运行或已完成。仅当执行处于完成状态时输出才可用。用户可以选择通过按“更新”按钮来检查当前的执行状态

XAML

<Button Background="{StaticResource PhoneAccentBrush}" 
        Click="UpdateRunInfo" > Update info</Button>

这是方法

private async void UpdateRunInfo(object sender, RoutedEventArgs e)
    {
        ExecutionItem clicked = ((sender as Button).DataContext as ExecutionItem);
        HttpClientHandler handler = new HttpClientHandler();
        handler.Credentials = new NetworkCredential("username", "password");           
        HttpClient client = new HttpClient(handler);                    
        string Url = "http://somefakeurl.com/server/run/id/status";
        string _status = await client.GetStringAsync(Url);
        clicked.status = _status;
                }

所以问题是这个方法只有在第一次调用时才能正常工作。此后,无论服务器的实际状态如何,GetStringAsync() 都会返回与第一次调用相同的结果。

我在一个单独的Windows Phone项目中尝试过这种方法,结果是一样的。 为了确保服务器正确运行,我这次在桌面应用程序上再次尝试了相同的 C# 代码,它工作得很好。

我的理论是,因为我多次发送相同的请求,WP 操作系统会缓存最后的结果,并将其返回给我,而不是实际向服务器发出 GET 请求。

为什么 HttpClient 返回缓存的状态而不是实际从服务器获取状态?


正如评论者所说,这是一个缓存问题。 来自用户L.B.的建议设置client.DefaultRequestHeaders.IfModifiedSince解决了问题

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

Windows Phone 8 HttpClient Get 方法返回奇怪的结果 的相关文章

  • 添加对共享类的多个 WCF 服务的服务引用

    我正在尝试将我的 WCF Web 服务拆分为几个服务 而不是一个巨大的服务 但是 Visual Studio Silverlight 客户端 复制了两个服务共享的公共类 这是一个简单的例子来说明我的问题 在此示例中 有两个服务 两者都返回类
  • 在 C++ 中分割大文件

    我正在尝试编写一个程序 该程序接受一个大文件 任何类型 并将其分成许多较小的 块 我想我已经有了基本的想法 但由于某种原因我无法创建超过 12 kb 的块大小 我知道谷歌等上有一些解决方案 但我更感兴趣的是了解这个限制的根源是什么 然后实际
  • 如何进行带有偏差的浮点舍入(始终向上或向下舍入)?

    我想以偏置舍入浮动 要么总是向下 要么总是向上 代码中有一个特定的点 我需要这个 程序的其余部分应该像往常一样四舍五入到最接近的值 例如 我想四舍五入到最接近的 1 10 倍数 最接近 7 10 的浮点数约为 0 69999998807 但
  • 获取两个字符串之间的公共部分c# [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我需要的是获取两个单词之间的共同部分并获取差异 例子 场景1 word1 感言 word2 Test 将返回 公共部分Test 不同之
  • Blazor 与 Razor

    随着 Blazor 的发明 我想知道这两种语言之间是否存在显着的效率 无论是在代码创建方面还是在代码的实际编译 执行方面 https github com SteveSanderson Blazor https github com Ste
  • 处理 fanart.tv Web 服务响应 JSON 和 C#

    我正在尝试使用 fanart tv Webservice API 但有几个问题 我正在使用 Json Net Newtonsoft Json 并通过其他 Web 服务将 JSON 响应直接反序列化为 C 对象 这里的问题是元素名称正在更改
  • 使用实体框架从集合中删除项目

    我正在使用DDD 我有一个 Product 类 它是一个聚合根 public class Product IAggregateRoot public virtual ICollection
  • Linux TUN/TAP:无法从 TAP 设备读回数据

    问题是关于如何正确配置想要使用 Tun Tap 模块的 Linux 主机 My Goal 利用现有的路由软件 以下为APP1和APP2 但拦截并修改其发送和接收的所有消息 由Mediator完成 我的场景 Ubuntu 10 04 Mach
  • try-catch 中未处理的异常

    try list from XElement e in d Descendants wix File where e Attribute Name Value Contains temp Name e Parent Parent Attri
  • 调试内存不足异常

    在修复我制作的小型 ASP NET C Web 应用程序的错误时 我遇到了 OutOfMemoryException 没有关于在哪里查看的提示 因为这是一个编译时错误 如何诊断此异常 我假设这正是内存分析发挥作用的地方 有小费吗 Thank
  • 为什么 BOOST_FOREACH 不完全等同于手工编码的?

    From 增强文档 http www boost org doc libs 1 48 0 doc html foreach html foreach introduction what is literal boost foreach li
  • VS30063:您无权访问 https://dev.azure.com

    我正在尝试在 asp net core 2 1 mvc 应用程序中使用以下代码连接 Azure DevOps Uri orgUrl new Uri https dev azure com xxxxx String personalAcces
  • 如何用 kevent() 替换 select() 以获得更高的性能?

    来自Kqueue 维基百科页面 http en wikipedia org wiki Kqueue Kqueue 在内核和用户空间之间提供高效的输入和输出事件管道 因此 可以修改事件过滤器以及接收待处理事件 同时每次主事件循环迭代仅使用对
  • 转到 C# WPF 中的第一页

    我正在 WPF 中使用导航服务 为了导航到页面 我使用 this NavigationService Navigate new MyPage 为了返回我使用 this NavigationService GoBack 但是如何在不使用的情况
  • 范围和临时初始化列表

    我试图将我认为是纯右值的内容传递到范围适配器闭包对象中 除非我将名称绑定到初始值设定项列表并使其成为左值 否则它不会编译 这里发生了什么 include
  • 通过不同 DLL 或 EXE 中的指针或引用访问 STL 对象时发生访问冲突

    我在使用旧版 VC6 时遇到以下问题 我只是无法切换到现代编译器 因为我正在处理遗留代码库 http support microsoft com kb 172396 http support microsoft com kb 172396
  • “MyClass”的类型初始值设定项引发异常

    以下是我的Windows服务代码 当我调试代码时 我收到错误 异常 CSMessageUtility CSDetails 的类型初始值设定项引发异常 using System using System Collections Generic
  • 运行代码首先迁移更新数据库时出错

    我在迁移到数据库时遇到问题 并且似乎找不到我遇到的错误的答案 System MissingMethodException Method not found System Data Entity Migrations Builders Tab
  • boost::program_options:带有固定和可变标记的参数?

    是否可以在 boost program options 中使用此类参数 program p1 123 p2 234 p3 345 p12 678 即 是否可以使用第一个标记指定参数名称 例如 p 后跟一个数字 是动态的吗 我想避免这种情况
  • Swagger 为 ASP.CORE 3 中的字典生成错误的 URL

    当从查询字符串中提取的模型将字典作为其属性之一时 Swagger 会生成不正确的 URL 如何告诉 Swagger 更改 URL 中字典的格式或手动定义输入参数模式而不自动生成 尝试使用 Swashbuckle 和 NSwag 控制器 pu

随机推荐

  • 有没有办法让 gpg 签署所有以前的提交?

    正如标题所示 我正在寻找一种方法来 gpg 签署存储库中我以前的所有提交 最好不要为每次提交输入密码 我的方法是 git rebase exec git commit amend no edit n S i 8fd7b22 所有提交从下一个
  • python 课堂上有太多自我

    我正在学习 Python OOP 并尝试将 Java 类转换为 Python 类 请参阅此 PDF 中的第 15 页了解 Java 代码 google 文档link https docs google com open id 1eqzajO
  • Flutter 项目中任务“:app:processDebugResources”执行失败

    我从 7 月份开始重新开始 Flutter 项目的工作 并且遇到了大量的依赖问题 我正在慢慢解决这些问题 然而 这个我就是无法摆脱 Launching lib main dart on sdk gphone x86 in debug mod
  • imageView 中的圆角[重复]

    这个问题在这里已经有答案了 这是我的 xml 布局
  • set 中的哈希表在 python 中如何工作?

    据我所知 set在python中通过哈希表来实现O 1 查找复杂度 虽然它是哈希表 但其中的每个条目set必须是可散列的 或不可变的 所以这种和平的代码引发了异常 gt gt gt dict Traceback most recent ca
  • Google 标签管理器不会将事件推送到 Android 上的数据层

    我正在尝试在我的 Android 应用程序中实现标签管理器 如下本指南 https developers google com tag manager android v4 但由于某种原因我无法将事件推送到数据层 Override prot
  • hibernate中的实体和值类型

    对象级别的实体类型和值类型有什么区别 我知道实体将有一个 id 但值不会 但是为什么我们需要不同的方法来映射实体与值类型 这样做是为了让 hibernate 可以对值类型应用任何优化吗 实体已经定义了其持久保存的表 因此 当实体 A 中有
  • WooCommerce - 在哪里可以编辑由挂钩生成的 HTML?

    我是 WooCommerce 新手 无论如何 我想创建自己的主题 所以我遵循指南并将核心模板文件复制到 mywordpresstheme woocommerce 一切都很好 我正在编辑模板 效果很好 然而 WooCommerce 中的挂钩和
  • C++ 十六进制解析

    我想知道如何将十六进制字符串转换为人类可读的字符串 如果这有意义 这将是我第一次真正遇到十六进制值 所以我仍在学习它们以及如何管理它们 我有一个程序正在从包含原始数据包数据 十六进制 的文件中读取数据 我需要解析这些信息 以便人类可读 我需
  • 如何在Angular2中调用其他组件的方法

    在 addTo component ts 组件中 我有一个方法和构造函数 如下所示 Method addTo ServicePlanId basketSection Constructor constructor private route
  • 模板赋值运算符重载之谜

    我有一个简单的结构Wrapper 通过两个模板化赋值运算符重载来区分 template
  • 将雅虎财经导入Python时遇到问题

    我已经使用 pip 从 PyPI 安装了 yahoo Finance 当我运行以下脚本时 出现导入错误 没有名为 yahoo finance 的模块 from yahoo finance import Share BlackDiamond
  • 如何为 NHibernate 制作内部映射类?

    我为我的映射创建了内部类 并在各处放置了 default lazy false 一段时间后 我决定完全懒惰并删除了此设置 突然之间 几乎所有事情都无法执行 我得到的异常是 无法执行查询 System TypeLoadException 访问
  • Sublime 的 phpstorm 配色方案

    我已经使用 phpstorm 很长时间了 现在我也在 sublime 中工作 因为它有利于快速编辑 并且速度感最好 我想要 Sublime 中 phpstorm 的默认配色方案 那是已经建起来了吗 或者我如何开始创建这样的配色方案 对于使用
  • 以编程方式关闭 Android 手机

    我们可以通过编程方式关闭 Android 手机吗 我正在使用以下代码片段 但它对我不起作用 KeyguardManager keyguardManager KeyguardManager getSystemService Activity
  • AppCompatActivity 不可分配给 Activity

    经过一年的 Android 编码 直到昨天一切都运行良好 今天 升级到 gradle 3 alpha 2 和 studio 3 build 2 后 我发现了一些非常奇怪的事情 This is the declaration of one o
  • 如何理解批处理文件?

    我之前没有使用批处理文件或 shell 脚本的经验 我需要了解相关项目中使用的批处理文件所执行的操作 有没有资源提供批处理文件命令的详尽列表以及每个命令的作用 一旦您熟悉了一般的 BAT 文件信息 使用其他用户在其他答案中发布的一些有用信息
  • 在 Swift 中,如何迭代 UITableView 中的每个单元格,然后获取其属性?

    我有一个通用的 UITableView 我想浏览每个可见的单元格 我怎样才能快速做到这一点 我目前正在我的一个项目中使用它 let cells self tableView visibleCells as Array
  • 当我使用设置数据时,Flutter firestore 会覆盖数据

    我一直在尝试将数据添加到我的 firestorm 数据库中的部分 我有一个集合 gt 文档 gt 数据字段 每当我使用 setData key value 时 它总是会覆盖文档中已有的数据 有没有办法解决 那是因为什么setData obj
  • Windows Phone 8 HttpClient Get 方法返回奇怪的结果

    我正在开发一个 Windows Phone 8 应用程序 它将一些数据发送到服务器 服务器执行该数据并返回结果 可以随时查询服务器以获取当前执行的状态 可以是正在初始化 正在运行或已完成 仅当执行处于完成状态时输出才可用 用户可以选择通过按