Windows 8应用程序打包

时间:2012-10-01 12:31:14

标签: windows windows-8

我正致力于创建Windows 8应用程序。 UI正在使用HTML5。使用WinJs我正在调用一个WCF服务,该服务返回用于构建UI的数据表。一切都很好。

我还想创建一个与应用程序打包在一起的Window Service,因此当有人下载​​/安装它时,它将被解压缩并启动/执行Windows服务。这种配置是否可行?

今天的WCF服务是一个Web服务,但我想把它变成一个Windows服务。这个想法是让一切都自成一体。这将允许我在Microsoft Online商店中提供它 - 如果我想走那条路。

4 个答案:

答案 0 :(得分:2)

Windows 8应用程序不支持安装服务。您可以做的最好是单独安装服务。

答案 1 :(得分:2)

您的WCF服务应该与您的应用程序分离,并且很可能在不同的计算机上运行!我很确定它们不允许您在Windows应用商店应用的上下文中安装或运行服务。

答案 2 :(得分:1)

对于任何Windows 8应用程序,安装Windows服务都不是理想的方法。我知道你想让everythig自包含但是,为什么作为WCF本地服务呢?您为什么不考虑在应用程序本身中拥有数据访问层?只是一个想法。

答案 3 :(得分:0)

关于客户端

Web服务是单独的项目和单独的部署模型。您可以为Windows 8客户端应用程序创建一个Visual Studio项目,为Web服务端创建一个项目。

Windows 8应用程序有多种用于保存持久数据的选项,例如用于使用Web服务的端点。

存储Windows 8应用程序数据时需要考虑几个因素,例如要使用的Web服务的位置。

Windows 8应用程序数据还包括会话状态,用户首选项和其他设置。应用程序运行时会创建,读取,更新和删除它。

需要考虑 3种类型的维度。系统管理您应用的这些数据存储: (1)本地:仅存在于当前设备上的持久数据 (2)漫游:用户已安装应用的所有设备上存在的数据 (3)临时:系统可以在应用未运行时立即删除的数据

作为开发人员,您需要关注几个持久保存应用程序数据的对象: 第一个容器对象是ApplicationDataContainer。另一个是ApplicationData。您可以使用这些对象来存储本地,漫游或临时数据。

关于服务器端

您的Windows 8客户端应用将使用基于http的网络服务。

大多数开发人员将Web服务部署到云端,供iOS,Android,Windows和其他服务器端服务使用。

Windows Azure是一种云服务,可以非常简单地向客户端公开服务。

您可以使用云服务来获得强大的解决方案,或者使用重量较轻的 Azure网站。

您通常可以选择两种项目类型中的任何一种来创建Web服务:

(1)Windows Communication Foundation WCF;或

(2)ASP.NET Web API,它包含在MVC版本4中。

WCF 已经存在更长时间,并且在曝光服务方面,历史上一直是开发人员的首选。

微软关于Web服务的更现代的概念与 ASP.NET Web API 相关,它真正包含HTTP概念(URI和动词)。此外,ASP.NET Web API可用于创建利用请求/响应头,超媒体等的服务。