繁体   English   中英

IIS与Windows服务?

[英]IIS vs Windows Service?

我有一个需要始终运行的C#应用​​程序。 我最初计划将其作为Windows服务,但我现在需要使应用程序主机成为Web管理控制台。

我在几年内没有玩过IIS,所以我的问题是:

你会推荐我用什么?

我已经考虑过制作Windows服务并嵌入像Cassini这样的Web服务器,但到目前为止我对我看过的开源Web服务器并不满意。

IIS可以处理吗? 人们是否将它用于此类情景,如果是这样的话?

这听起来像是两个独立项目的工作。

一个是原始的Windows服务。 Windows服务非常适合您正在做的事情。

第二个是用于管理Windows服务的Web项目。 这是在IIS中运行的部分。

这取决于你总是跑步的意思。 如果没有任何请求在一定时间内终止所有后台线程,则Web服务器可以很好地卸载部署在IIS中的ASP.NET Web应用程序。 因此,如果您想要一个永远运行的后台线程,那么它将更适合使用Windows服务。 就Web管理员而言,在这里你没有太多选择:IIS中的ASP.NET。 为了做一些有用的事情,这两个应用程序应该能够找到一个可以交谈的通用语言。 因此,您可以使用数据库来存储两个应用程序可以使用的结果。

IIS将在第一次请求时运行您的应用程序,而不是在服务器启动时 因此,您仍需要运行服务以确保您的应用始终在运行。

您可以将IIS用作Web管理部件的Web服务器,并通过配置数据库(简单)或Web服务(稍微复杂一点)将ASP.net应用程序与您的服务链接。

Windows和Web服务是两种截然不同的生物。 Web服务将公开可以针对应用程序实现的外部方法,而Windows服务本身就是一个实体。 如果您计划在定时间隔内使用此服务来执行操作,则Windows服务将是正确的方法。 如果使用Web服务,则需要调用要从辅助应用程序运行的方法。

如果您需要针对Windows服务排队命令,您可以随时创建一个可供您的网站和Windows服务访问的数据库。 这样您就可以在两者之间发送命令和查询数据。 将Web服务置于两者之间作为中间人可能是过度的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM