0

这是一个关于 WCF 托管环境的问题:

您正在开发一个在后台执行文件备份的应用程序。后台应用程序将托管 Windows Communication Foundation (WCF) 服务,并且必须在计算机运行时立即处于活动状态。后台应用程序将没有用户界面。前端应用程序将使用 WCF 服务并提供用户界面。

您需要为 WCF 服务选择宿主环境。您应该选择哪种托管环境?

  • A. Microsoft Internet 信息服务 (IIS) 6.0
  • B. Windows 进程激活服务 (WAS)
  • C. Windows 窗体应用程序
  • D. Windows 服务

答案是 D,但是 WCF MSDN 的很多文档和书籍都偏爱 IIS/WAS 而不是 Windows 服务,因为它们更健壮和有弹性等。我真的不明白为什么这里必须是 D。那么D背后的原因是什么?

4

2 回答 2

5

答案是 D,因为其中一项要求是:
必须在机器运行时立即处于活动状态。

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

于 2012-08-07T06:50:38.600 回答
1

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

于 2012-08-07T13:00:24.197 回答