.net 何时知道何时使用Windows或IIS服务?

.net 何时知道何时使用Windows或IIS服务?,.net,service,windows-services,.net,Service,Windows Services,基本上,我的服务包括监视Exchange邮箱。一旦电子邮件到达,服务将对其进行解析并将数据插入数据库。仅从这一描述就可以清楚地看出,这是Windows服务的一个主要示例 但是,您什么时候会喜欢使用IIS服务而不是Windows服务 另外,还有其他类型的服务可以在Windows上托管吗?我想你是在询问在Windows服务或IIS中托管WCF服务。。。 我认为使用简单的WCF服务,你应该使用windows服务,除非你需要IIS为你提供的许多开箱即用的功能,如应用程序域重新加载、监控等 如果您的服务需

基本上,我的服务包括监视Exchange邮箱。一旦电子邮件到达,服务将对其进行解析并将数据插入数据库。仅从这一描述就可以清楚地看出,这是Windows服务的一个主要示例

但是,您什么时候会喜欢使用IIS服务而不是Windows服务


另外,还有其他类型的服务可以在Windows上托管吗?

我想你是在询问在Windows服务或IIS中托管WCF服务。。。 我认为使用简单的WCF服务,你应该使用windows服务,除非你需要IIS为你提供的许多开箱即用的功能,如应用程序域重新加载、监控等

如果您的服务需要很多功能,您可以使用IIS帮助您更轻松地实现这些功能

我可以争辩的一件事是,在windows服务中托管您的服务要快一些,因为您的servicehost可能会启动并运行,或者在请求传入时无法处理请求,但使用IIS,您的服务主机将仅在请求传入时构建,这意味着如果没有处理任何请求,则不会真正运行


因此,要么是servicehost始终运行时的windows服务处理请求,要么是IIS需要花费更多时间来重建servicehost以处理传入消息(按需加载)。

我认为您询问在windows服务或IIS中托管WCF服务。。。 我认为使用简单的WCF服务,你应该使用windows服务,除非你需要IIS为你提供的许多开箱即用的功能,如应用程序域重新加载、监控等

如果您的服务需要很多功能,您可以使用IIS帮助您更轻松地实现这些功能

我可以争辩的一件事是,在windows服务中托管您的服务要快一些,因为您的servicehost可能会启动并运行,或者在请求传入时无法处理请求,但使用IIS,您的服务主机将仅在请求传入时构建,这意味着如果没有处理任何请求,则不会真正运行

因此,在servicehost始终运行以处理请求时使用windows服务,或者使用IIS重建servicehost以处理传入消息(按需加载)需要更多时间