C# WCF服务与窗口服务

C# WCF服务与窗口服务,c#,wcf,windows-services,C#,Wcf,Windows Services,我是WCF的新手。我有一个场景,我需要创建一个全天候运行的应用程序,从邮箱中提取邮件并创建一些报告。我使用winform完成了这项工作,并且工作正常。但我遇到了一个问题,即承载应用程序的服务器有一个自动注销策略,该策略在服务器在特定时间处于非活动状态时关闭我的应用程序一段时间。我想我可以把它实现为一个窗口服务。在这个场景中是否推荐WCF服务,使用它有什么好处。我想到了WCF服务,因为它将是我的学习曲线。请提供建议 更新: 它的应用程序基于计时器工作。它每5分钟ping一个特定邮箱以查看新邮件。如

我是WCF的新手。我有一个场景,我需要创建一个全天候运行的应用程序,从邮箱中提取邮件并创建一些报告。我使用winform完成了这项工作,并且工作正常。但我遇到了一个问题,即承载应用程序的服务器有一个自动注销策略,该策略在服务器在特定时间处于非活动状态时关闭我的应用程序一段时间。我想我可以把它实现为一个窗口服务。在这个场景中是否推荐WCF服务,使用它有什么好处。我想到了WCF服务,因为它将是我的学习曲线。请提供建议

更新: 它的应用程序基于计时器工作。它每5分钟ping一个特定邮箱以查看新邮件。如果发现新邮件,它将下载excel创建PDF报告并将其发送回某些电子邮件ID


DLL:OpenPOP和ITExtPrime.

如果您的应用程序想做什么,并且在服务器处于活动状态之前工作得很好,那么您应该考虑通过设置服务器不进入非活动状态来解决问题。p> 换句话说,由于服务器本身不应进入待机(非活动)模式,我的猜测是,您提到的策略仅针对非活动用户实施-该策略可能(也不应该)影响系统级用户

因此,如果您要以系统用户(或网络用户)的身份运行应用程序,那么问题应该消失

根据您的解释,WCF不是您问题的正确解决方案,原因有二:

  • 当您有另一个应用程序(客户端)使用WCF服务时,WCF非常有用)-听起来您的应用程序中并不需要客户端/服务器服务
  • 如果您以与当前应用程序运行的用户相同的用户身份运行WCF服务,则问题仍然存在(即,由于策略的原因,WCF服务最终将处于非活动状态)

  • WCF只有在运行Web服务时才有用。只要一个普通的windows服务就可以满足您的需要。只要机器启动,服务就应该继续运行。

    您需要的是windows服务

    WCF是一个通信库,除非您计划通过客户端与应用程序通信,否则您不需要它

    您的问题与激活有关,windows服务会在后台保持代码的活动状态

    这并不难,这将帮助你开始


    除了“从邮箱中提取邮件并创建少量报告”之外,您还需要向我们提供有关应用程序用途的更多详细信息如果您的客户端正在使用您的服务,即客户端计算机,并且我们没有更改其服务器策略的权限,则您只需要WCF。我所说的非活动模式是指服务器在特定时间段内没有活动时关闭用户打开的所有应用程序。有没有办法在不更改服务器的情况下解决此问题策略?您需要告诉客户端以系统用户(或网络)身份运行服务。要了解我试图解释的内容,请转到您的服务,然后转到任何服务的属性。然后,转到“登录”选项卡。您会注意到,您可以更改服务将在其下运行的帐户。服务?我没有创建服务。我是作为windows应用程序创建的。明白了。你帖子的标题提到了“窗口服务”——我以为你的应用程序是“窗口服务”——不,我想把它改成服务。。看来窗口服务是我所需要的。谢谢Jedwill即使用户注销也会运行窗口服务吗?我想会的。你的想法?谢谢你的帮助,好的评论。我刚刚输入了相同的回答(+1)。以下是MS关于该主题的其他信息的链接: