1

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

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

今天的 WCF 服务是一个 Web 服务,但我想把它变成一个 Windows 服务。这个想法是让一切都自给自足。如果我想走这条路,这将使我可以在 Microsoft 在线商店中使用它。

4

4 回答 4

2

Windows 8 应用程序不支持安装服务。你能做的最好的就是单独安装一个服务。

于 2012-10-01T15:49:51.700 回答
2

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

于 2012-10-02T06:44:30.210 回答
1

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

于 2012-12-03T14:39:45.230 回答
0

关于客户端

Web 服务是独立的项目和独立的部署模型。您可以拥有一个用于 Windows 8 客户端应用程序的 Visual Studio 项目和一个用于 Web 服务端的项目。

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

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

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

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

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

关于服务器端

您的 Windows 8 客户端应用程序将使用基于 http 的 Web 服务。

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

Windows Azure 是一种云产品,它使向客户公开服务变得非常简单。

您可以利用云服务来提供强大的解决方案,也可以利用轻量级的Azure 网站。

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

(1)Windows通信基金会WCF;或者

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

WCF存在的时间更长,并且历来是开发人员在公开服务时的主要​​选择。

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

于 2012-12-01T01:25:10.837 回答