2012-08-07 39 views
0

这里是WCF冲水环境问题:WCF后台进程软管环境

你正在开发执行在 背景文件备份的应用程序。后台应用程序将托管通信基础(WCF)服务的Windows 服务,并且只要该机器正在运行,该服务就必须处于活动状态 。后台应用程序不会有 用户界面。前端应用程序将使用WCF服务 并提供用户界面。

您需要为WCF服务选择一个主机环境。你应该选择哪个主机环境?

  • 答:Microsoft Internet信息服务(IIS)6.0
  • B. Windows进程激活服务(WAS)
  • 下一个Windows窗体应用程序
  • D. Windows服务

答案是D,但WCF MSDN和书籍的很多文档都比Windows Service更喜欢IIS/WAS,因为它们更健壮,更有弹性等等。我不明白为什么它必须是D在这里。那么D背后的推理是什么?谢谢。

回答

5

答案是D,因为其中一个要求是:
必须在机器运行后立即生效。

当您使用Windows服务时,您甚至可以在用户在系统中授权之前启动它。

+0

IIS/WAS在机器运行后也会自动启动,不是吗?因此,该服务将在机器启动后自动提供。 – cateyes 2012-08-08 23:36:40

+0

不,Vivek注意到,IIS提供了按需加载。所以如果你想使用IIS开始你的服务,在这种情况下,你需要一些发送请求到IIS。所以IIS不是你需要的。 – Chepene 2012-08-09 04:09:22

1

IIS提供了按需加载。当请求进入时,ServiceHost被构造,然后托管的服务类被实例化,并且处理请求。没有什么需要全天候运行。每次收到消息时,此设置都需要更多的时间和精力。