【问题标题】:Metro app - how to update live tile when using javascript/html?Metro 应用程序 - 使用 javascript/html 时如何更新动态磁贴?
【发布时间】:2012-09-25 22:22:18
【问题描述】:

我刚刚开始使用 HTML、JS 和 CSS 开发 Metro 应用程序。是否可以使用通过 WCF 服务检索到的一些数据来更新动态磁贴?当我右键单击 Visual Studio 2012 中的引用时,我没有看到“添加服务引用”选项。整个 Metro 应用程序的事情非常令人困惑。我可以在 Metro 应用程序中使用 HTML/JS/CSS C#(如 ASP.NET)的组合吗?

这就是我想要做的 - 当应用启动时,它应该在应用内的 iframe 中打开一个网页。我还想读取登录用户的帐户名(Windows 身份验证),启动对 WCF 服务的调用,获取一些数据并将其显示在磁贴上,并定期刷新。听起来我需要 HTML/JS 和 C# 的组合。

谢谢!

【问题讨论】:

    标签: microsoft-metro


    【解决方案1】:

    Periodic notifications 似乎非常适合您的场景。通过定期磁贴更新,Windows 将使用托管在 Web 地址上的 XML 磁贴通知内容自动更新应用程序磁贴。 Web 内容可以由 WCF 服务或任何其他 Web 服务器提供。

    显示应用如何使用startPeriodicUpdate 设置定期更新的代码:

    var tileUpdater = Windows.UI.Notifications.TileUpdateManager.createTileUpdaterForApplication();
    var interval = Windows.UI.Notifications.PeriodicUpdateRecurrence.halfHour;
    
    // Every 30 minutes, Windows will update the tile with the content at 'uri'.
    tileUpdater.startPeriodicUpdate(uri, interval);
    

    如果要下载多个更新以使用tile notification cycling,请使用startPeriodicUpdateBatch

    注意:可以使用 HTML、JS 和 CSS 编写的应用使用 C# 库,但我认为在这种情况下不需要它。

    【讨论】:

    • 感谢您为我指明了正确的方向。我已经下载了示例并查看了代码。在我的例子中,WCF 服务需要登录用户的帐户名和域名作为参数。有可能找回那些吗?您能否也给我指出一篇文章,我可以在其中将 HTML、JS 和 CSS 与 C# 结合使用?谢谢。
    • 如果您可以将用户的帐户名和域嵌入到传递给您的 WCF 服务的 URL 中,这是可能的。如果 WCF 服务需要自定义身份验证,或者如果磁贴上提供的数据不应公开访问,则定期通知不可行 - 推送通知适用于这些场景。至于从 JS 中使用 C# 客户端库,这里有帮助您入门的文档:msdn.microsoft.com/en-us/library/windows/apps/br230301.aspx
    • 可以定期向磁贴发送推送通知吗?感谢在 JS 中使用 C# 的链接,所以这就是 WinRT 适合的地方!
    • msdn.microsoft.com/en-us/library/windows/apps/hh465450.aspx" 发送磁贴推送通知 - 此功能通常不会使用 JavaScript 实现。"哦,好吧。
    • 是的,它们可以定期发送。但是,推送通知的发送时间和频率完全取决于推送通知的服务。应该注意的是,虽然推送通知更灵活,但它们比定期通知要复杂得多。本文讨论了各种交付方式之间的一些区别:msdn.microsoft.com/en-us/library/windows/apps/hh779721.aspx
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-03
    • 1970-01-01
    相关资源
    最近更新 更多