是否可以制作WinRT服务
由于WinRT具有独特的function,我想知道是否要制作针对WinRT的Windows服务? 如果不可能,是否可以使用不可见的WinRT / Metro应用程序?
非常感谢。
不是正确的答案。 metro应用程序在Metro shell内部和执行容器内执行,该容器创建远离系统资源(包括服务)的沙箱。 因此,metro应用程序无法访问本地服务。 同样,因此,metro应用程序不能成为服务。
通过Windows Notification Services的后台任务和推送通知是Metro应用程序在未激活时与用户交互的唯一方式。 否则,当应用程序未处于活动状态(不可见)时,其所有线程都将被挂起(与服务不同)。
至于后台任务,它们的活动受地铁应用程序的限制,并且每2小时限制为一个CPU秒(有一个例外)。 推送通知可以更频繁地执行,但只能更新磁贴或发出Toast通知。
metro应用程序的意图与传统桌面应用程序不同:
Metro应用程序独立于架构(在intel或arm上运行)。 Metro应用程序是触摸式的,专为触摸屏而设计。 Metro应用程序完全硬件加速。 Metro应用程序利用经认证设备提供的下一代硬件,包括前所未有的电池寿命。 Metro应用程序是Windows商店提供的唯一应用程序。
看,选择一个城域应用确实意味着承认桌面应用程序的一些无限的力量。 然而,收益也很重要。
不,这是不可能的(服务或“隐形”地铁应用程序枯萎)。
你可以运行后续任务,可以做你想做的事,但不理解你的问题,我不能说。
这取决于你想做什么。
WinRT是一个API,可以从Metro(Windows Store)应用程序和Desktop / C#应用程序访问。
但是,不会公开完整的API – 请参阅此处允许访问的内容: http : //msdn.microsoft.com/en-us/library/windows/desktop/hh920511%28v=vs.85%29.aspx
Hanselman演示了如何为WinRT添加引用:
- 编辑csproj:
8.0
- 然后添加对Core / Windows的引用。
http://www.hanselman.com/blog/HowToCallWinRTAPIsInWindows8FromCDesktopApplicationsWinRTDiagram.aspx