便携式图书馆中的计时器

2024-01-08

我在便携式库/Windows 应用商店中找不到计时器。 (针对 .net 4.5 和 Windows Store aka Metro)

有人知道如何创建某种计时事件吗?

我需要某种秒表,所以应该每秒刷新一次左右


Update:我们已在 Visual Studio 2013 中修复了此问题。面向 Store (Windows 8.1) 和 .NET Framework 4.5.1 项目的可移植库现在可以引用 Timer。

这是我们的实现细节泄露给用户的不幸情况。当您仅针对 .NET 4.5 和 Windows 应用商店应用程序时,我们实际上会让您针对与针对低级平台(.NET 4、SL 4/5、Phone 7.x)时不同的东西进行构建。我们尝试将这两者视为相同,但底层的有限更改开始泄漏(例如计时器和反射)。我们在这里介绍其中的一些内容:http://channel9.msdn.com/Shows/Going+Deep/NET-45-David-Kean-and-Marcea-Trofin-Portable-Libraries http://channel9.msdn.com/Shows/Going+Deep/NET-45-David-Kean-and-Marcea-Trofin-Portable-Libraries.

我们将在未来的版本中考虑解决这个问题。在那之前,您有几个解决方法:

1) 使用 Task.Delay 实现您自己的 Timer 版本,这是我们内部使用的快速副本:

internal delegate void TimerCallback(object state);

internal sealed class Timer : CancellationTokenSource, IDisposable
{
    internal Timer(TimerCallback callback, object state, int dueTime, int period)
    {
        Contract.Assert(period == -1, "This stub implementation only supports dueTime.");
        Task.Delay(dueTime, Token).ContinueWith((t, s) =>
        {
            var tuple = (Tuple<TimerCallback, object>)s;
            tuple.Item1(tuple.Item2);
        }, Tuple.Create(callback, state), CancellationToken.None,
            TaskContinuationOptions.ExecuteSynchronously | TaskContinuationOptions.OnlyOnRanToCompletion,
            TaskScheduler.Default);
    }

    public new void Dispose() { base.Cancel(); }
}

2) 将您的项目降级到 .NET 4.0 和 Windows 应用商店应用程序,这将使您能够访问计时器。

3)创建一个针对.NET 4.0和Windows Store应用程序的新项目,并将需要计时器的代码放入其中。然后引用 .NET 4.5 和 Windows 应用商店应用程序项目中的内容。

作为旁注,我已在 PclContrib 网站上为自己提交了一个工作项目以添加计时器支持:http://pclcontrib.codeplex.com/workitem/12513 http://pclcontrib.codeplex.com/workitem/12513.

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

便携式图书馆中的计时器 的相关文章

  • 通过 VLA 数组跳转到 goto 时出现分段错误

    以下示例演示了该问题 include
  • C++ Singleton 类 getInstance (作为 java)[重复]

    这个问题在这里已经有答案了 可能的重复 谁能给我提供一份 C 中的 Singleton 示例吗 https stackoverflow com questions 270947 can any one provide me a sample
  • C 中的分段错误

    我需要用 0 填充二维数组 但编译后的程序会出现此错误 怎么了 int main int vert 1001 1001 int hor 1001 1001 int dudiag 1416 1416 int uddiag 1416 1416
  • 使用 QTextCursor 选择一段文本

    使用 Qt 框架选择文本片段时遇到问题 例如 如果我有这个文件 没有时间休息 我想选择 ime for r 并从文档中删除这段文本 我应该如何使用 QTextCursor 来做到这一点 这是我的代码 QTextCursor cursor n
  • 使用 gcc 编译 C 时,预处理的 .i 文件中的数字意味着什么?

    我想了解编译过程 我们可以使用以下命令查看预处理器中间文件 gcc E hello c o hello i or cpp hello c gt hello i 我大致知道预处理器的作用 但我很难理解某些行中的数字 例如 1 usr incl
  • 对相当大的整数的大集合的操作的快速实现

    描述 我实现了以下类 LabSetInt64 参见下面的代码 这里的目标是尽可能快地操作大量大整数 最多 10M 的值 我的主要要求集中在 至关重要 尽快获取集合的大小 基数 重要 能够非常快速地迭代一组集合 所以 从下面的实现开始 我还有
  • 将内核链接到 PTX 函数

    我可以使用 PTX 文件中包含的 PTX 函数作为外部设备函数 将其链接到另一个应调用该函数的 cu 文件吗 这是另一个问题CUDA 将内核链接在一起 https stackoverflow com questions 20636800 c
  • 设置外部应用程序焦点

    在 VB NET 中 您可以使用以下命令将焦点设置到外部应用程序 AppActivate Windows Name or AppActivate processID As Integer 现在 如果您这样做 则效果很好 Dim intNot
  • ResourceDictionary 源中的 Uri 语法(通用 Windows 平台)

    我正在迁移我的Windows 8 1项目到Windows 10 通用 Windows 平台 这时我被拦住了ResourceDictionary改变在UWP 为了简单起见 我有包含 2 个项目的 Windows 8 1 解决方案 App pr
  • F# 内联如何工作?

    对于 F 我的理解是您可以使用 inline 关键字在调用站点执行类型专门化 那是 val inline a gt b gt c when a or b static member a b gt c 约束条件是 a or b必须有一个静态成
  • 按位非运算符

    为什么要按位运算 0 打印 1 在二进制中 不是0应该是1 为什么 你实际上很接近 在二进制中 不是0应该是1 是的 当我们谈论一位时 这是绝对正确的 然而 一个int其值为0的实际上是32位全零 将所有 32 个 0 反转为 32 个 1
  • 在 DefaultHttpContext 上使用 FeatureCollection 时,响应对象为 null

    我正在测试一些 net Core 中间件 并希望使用整个 asp net Core http 管道来运行中间件 而不是模拟它 问题是 当我使用特征集合时 不知何故 响应对象没有在 httpRequest 中设置 并且它在请求本身上是只读的
  • 整数与双精度算术性能?

    我正在编写一个 C 类来使用整数执行 2D 可分离卷积 以获得比双对应更好的性能 问题是我没有获得真正的性能提升 这是 X 过滤器代码 对于 int 和 double 情况都有效 foreach pixel int value 0 for
  • 表单.位置不起作用

    我之前问过这个问题 以为我已经解决了 但它仍然不起作用 Form Show 稍微移动表单位置 https stackoverflow com questions 1214014 form show moves form position s
  • 带有 Unicode 字符的主机名在 Windows 8 中有效

    Uri CheckHostName 回报UriHostNameType Unknown到处都是 但在 Windows 8 上 它又回来了UriHostNameType Dns 为什么突然间带有 Unicode 西里尔字符的主机名在 Wind
  • Windows Phone HttpClient PostAsync 挂起且无响应

    我在拨打电话时遇到问题HttpClientWP 应用程序的 post 方法 PostAsync总是挂起并且不给出任何响应 当我从 WPF 应用程序中尝试时 相同的代码可以工作 这是我正在做的事情 服务器Web API代码 public cl
  • 一个对大文件有效的轻量级 XML 解析器?

    我需要解析潜在的巨大 XML 文件 所以我猜这排除了 DOM 解析器 是否有任何优秀的 C 轻量级 SAX 解析器 在占用空间上可与 TinyXML 相媲美 XML的结构非常简单 不需要诸如命名空间和DTD之类的高级东西 只是元素 属性和
  • 如何最好地为 Visual Studio 2017 构建的 CMake C++ 项目设置输出目录?

    我使用 Visual Studio 2017 使用 vcxproj 文件构建 C 桌面项目 我喜欢默认行为 其中输出目录是项目下面的子目录 例如 myproj sln myproj vcxproj x64 myproj release my
  • 序列化时如何跳过 xml 声明?

    我正在尝试输出一个没有 xml 头的 xml 文件 例如 我试过 Type t obj GetType XmlSerializer xs new XmlSerializer t XmlWriter xw XmlWriter Create c
  • 为什么 32 位 .NET 进程的引用类型的最小大小为 12 字节

    我正在读专业 Net 性能 https rads stackoverflow com amzn click com 1430244585本书有关参考类型内部结构的部分 它提到 对于 32 位 net 进程 引用类型具有 4 字节的对象头和

随机推荐

  • 温斯顿:了解日志记录级别

    阅读和摆弄温斯顿 我很困惑为什么日志记录级别按原样排序 以及为什么传输以它们的方式运行 好吧 至少是控制台 如果有人能够 甚至可能彻底 用真实的用例示例解释为什么使用 Winston 进行日志记录会以这种方式工作 我将不胜感激 例如 我像这
  • std::sort 算法内存使用

    我想知道标准库排序算法 例如 std sort 是否使用堆内存进行排序 是否有任何可靠的来源如何找出排序算法或任何标准库算法一般使用哪种类型 堆 堆栈 和多少临时内存 背景是我考虑将一些标准库算法引入嵌入式环境 其中受控的内存使用至关重要
  • 为什么单击对附加元素不起作用?

    我想使用 jQuery 将一些 html 元素从一个容器无休止地移动到另一个容器append函数 但是当我单击已附加的元素时 单击事件将不再触发 基于与我类似的一些线程 我发现附加元素已从其事件侦听器中剥离 我怎样才能避免这种情况 有人可以
  • 将本地核心数据移动到 iCloud

    如何在已使用本地存储 Core Data 的应用程序中启用 iCloud Core Data 我尝试过使用NSPersistentStoreUbiquitousContentNameKey在我的持久存储选项中 不幸的是 此选项启用 iClo
  • 为什么找不到主类?

    我有一个非常简单的代码 package mygame public class RunGame public static void main String args System out println args 0 我可以编译该代码 但
  • 如何向 Swift Playground 添​​加 UIButton?

    所以我打开了 Playground 我只想添加一个简单的 UIButton 或简单的 UIView 用于测试目的 但我无法让它显示 这是我到目前为止所拥有的 import UIKit var uiButton UIButton button
  • 使弹性项目采用内容宽度,而不是父容器的宽度

    我有一个容器 div with display flex 它有一个孩子 a 我怎样才能让孩子出现 内联 具体来说 如何使子级的宽度由其内容决定 而不扩展到父级的宽度 我尝试过的 我将孩子设置为display inline flex 但它仍然
  • .NET SDK 安装不正确

    我在安装 NET SDK 时遇到问题 首先当我进入 Visual Studio 2019 时 它说我缺少 dotnet Runtime sdk 所以我按照它的要求安装了它并重新启动了我的计算机 然后我再次进入 Visual Studio 2
  • 拦截 iOS 上的崩溃

    描述 我想捕获 iOS 应用程序中发生的所有异常并将它们记录到文件中 并最终将它们发送到应用程序使用的后端服务器 我一直在阅读有关此主题的内容 并发现了设备发送的信号的用法并对其进行了处理 但我不确定它是否会违反应用程序商店审查指南 或者可
  • 带悬停的 CSS 动态导航 - 如何使其在 iOS Safari 中工作?

    在我的网站中 我使用纯 CSS 动态菜单 这在桌面浏览器中没问题 但在 iOS iphone ipad 等 上不行 因为触摸界面不支持 hover选择器 我的问题是 在 iOS 上支持此功能的最佳方式是什么 理想情况下 可以通过修补一些 C
  • 将键值对添加到 JavaScript 中的对象数组中?

    如果我有一个这样的数组 var myarray myarray push Name Adam Age 33 myarray push Name Emily Age 32 这给了我一个数组 我可以在其中提取值 例如myarray 0 Name
  • 为什么在使用花括号初始化列表时首选 std::initializer_list 构造函数?

    考虑代码 include
  • 在 Android 中解析大型 XML 文件

    我正在尝试解析一个相当大的 XML 文件 1MB 但我遇到了一些困难 我首先尝试将 xml 文件添加到 res xml 并使用 XmlResourceParser 解析它 但出现异常 数据超出 UNCOMPRESS DATA MAX 经过一
  • 如何在 firebug 和 chrome 调试器中查看附加到 :hover 和其他伪类的样式

    我知道一定有办法做到这一点 而且我一直在解决这个问题 但是 有什么方法可以查看 和 或编辑 应用于元素的伪类样式吗 例如 我想编辑 myclass hover or someid active在调试器中 附 我真的更关心如何在 chrome
  • 在 Web 服务中接收 JSON 数组作为参数

    我正在使用在 Visual Basic NET 3 5 中编程的 Web 服务来接收从其他应用程序发送的 JSON 数组 我正在发送一个如下所示的 JSON 字符串 idRecoleccion 1 PIN 553648138 idRecol
  • Jquery 悬停时淡出

    我需要一些 jquery 的帮助才能实现淡出效果 这是我的代码 http jsfiddle net PPpnT 25 http jsfiddle net PPpnT 25 当您将鼠标悬停在图像上时 图像需要淡出并显示下面的红色 当您将鼠标移
  • 在 Jenkins 中找不到私有 git 子模块

    问题 我正在尝试在 Jenkins 中构建我的应用程序 它位于 Github 上的私有存储库上 还有一个私有子模块 我可以通过设置凭证来克隆 Jenkins 中的私有存储库 但 Jenkins 无法克隆子模块 这是失败构建的输出 Start
  • 如何在 MySQL 中将字符串列读取为列表?

    我有一张桌子 它有两列class id and student 学生列是学生列表 学生列的数据类型是varchar 我想编写一个 SQL 查询 返回行 其中学生列是较大列表的子集 例如 A B C D E F G class id stud
  • Moodle 中个人资料图片的路径?

    我正在 Moodle Web 应用程序中编程一些东西 并正在考虑检索用户个人资料图像的路径 我以为我可以在数据库中的某个位置找到路径 但我只找到 mdl user picture 和 mdl user imagealt 所以实际上我知道谁上
  • 便携式图书馆中的计时器

    我在便携式库 Windows 应用商店中找不到计时器 针对 net 4 5 和 Windows Store aka Metro 有人知道如何创建某种计时事件吗 我需要某种秒表 所以应该每秒刷新一次左右 Update 我们已在 Visual