我有一个需要始终运行的C#应用程序。我原本计划将此作为Windows服务,但我现在有要求让应用程序托管一个Web管理控制台。IIS与Windows服务?
我没有好几年与IIS起到所以我的问题是这样的:
什么,你会建议我使用?
我想过如何制作Windows服务和嵌入Web服务器,如卡西尼,但到目前为止,我对我看过的开源Web服务器并不满意。
IIS可以处理这个吗?人们是否将它用于这种情况,如果是这样的话?
我有一个需要始终运行的C#应用程序。我原本计划将此作为Windows服务,但我现在有要求让应用程序托管一个Web管理控制台。IIS与Windows服务?
我没有好几年与IIS起到所以我的问题是这样的:
什么,你会建议我使用?
我想过如何制作Windows服务和嵌入Web服务器,如卡西尼,但到目前为止,我对我看过的开源Web服务器并不满意。
IIS可以处理这个吗?人们是否将它用于这种情况,如果是这样的话?
Windows和Web服务是两种截然不同的生物。 Web服务将公开可以针对应用程序实现的外部方法,而Windows服务本身就是一个实体。如果您打算按定时间隔使用此服务来执行操作,则Windows服务将是正确的选择。如果您使用Web服务,则需要调用您希望从辅助应用程序运行的方法。
如果您需要对Windows服务排队命令,则始终可以创建可供您的网站和Windows服务访问的数据库。这样你就可以在两者之间发送命令和查询数据。放置一个Web服务作为两者之间的中介可能是过度的。
这取决于你的意思是总是运行。如果没有任何请求在一段时间内杀死所有后台线程,那么部署在IIS中的ASP.NET Web应用程序很可能会被Web服务器卸载。所以如果你想要一个永远在运行的后台线程,它会更适合使用Windows服务。就网络管理员而言,好吧,在这里你没有太多的选择:IIS中的ASP.NET。为了做一些有用的事情,这两个应用程序应该能够找到一种通用的语言来交谈。因此,您可以使用数据库来存储两个应用程序可以使用的结果。
IIS将在第一次请求时运行您的应用程序,而不是在服务器启动时运行。因此,您仍然需要运行服务以确保您的应用始终在运行。
您可以使用IIS作为您的Web管理器部件的Web服务器,并通过配置数据库(简单)或Web服务(稍微棘手)将您的ASP.net应用程序与您的服务相关联。
服务在做什么? –