C# 使用windows服务或计时器执行操作

C# 使用windows服务或计时器执行操作,c#,windows,winforms,timer,C#,Windows,Winforms,Timer,我需要你在一个问题上的专家意见。 请记住我以前从未做过这样的事,所以请耐心点 我开发了一个windows窗体应用程序,可执行多种操作。 其中一个操作-write2Database()-是读取文件夹中的文件,并将该信息写入数据库(mysql)(之后该文件被删除) 这一切都没问题,但现在我被要求实现一个新功能,即:即使程序没有打开 它应该检查该文件夹(每x分钟一次),如果有文件,则执行write2Database()方法。 当应用程序打开时,它也应该这样做 我太迷茫了,我不知道从哪里开始,我应该使用

我需要你在一个问题上的专家意见。
请记住我以前从未做过这样的事,所以请耐心点

我开发了一个windows窗体应用程序,可执行多种操作。
其中一个操作-write2Database()-是读取文件夹中的文件,并将该信息写入数据库(mysql)(之后该文件被删除)

这一切都没问题,但现在我被要求实现一个新功能,即:即使程序没有打开 它应该检查该文件夹(每x分钟一次),如果有文件,则执行write2Database()方法。
当应用程序打开时,它也应该这样做

我太迷茫了,我不知道从哪里开始,我应该使用windows服务吗(我不知道它们是如何工作的)

谁能给我解释一下我必须遵循的步骤吗


谢谢

创建新的windows服务并从应用程序中删除该功能

Windows服务出人意料地简单,而且很常见,因此将有更多关于它的教程。另外,它们是VisualStudio中的标准项目类型,请不要忘记将服务设置为在启动时运行


一位同事不久前遇到了类似的问题,不要使用计时器或while(true)循环,这是一种浪费,请使用文件事件侦听器检测相关文件夹中正在创建的文件。

创建新的windows服务并从应用程序中删除该功能

Windows服务出人意料地简单,而且很常见,因此将有更多关于它的教程。另外,它们是VisualStudio中的标准项目类型,请不要忘记将服务设置为在启动时运行


一位同事不久前遇到了类似的问题,不要使用计时器或while(true)循环,这是一种浪费,请使用文件事件侦听器检测相关文件夹中正在创建的文件。

创建新的windows服务并从应用程序中删除该功能

Windows服务出人意料地简单,而且很常见,因此将有更多关于它的教程。另外,它们是VisualStudio中的标准项目类型,请不要忘记将服务设置为在启动时运行


一位同事不久前遇到了类似的问题,不要使用计时器或while(true)循环,这是一种浪费,请使用文件事件侦听器检测相关文件夹中正在创建的文件。

创建新的windows服务并从应用程序中删除该功能

Windows服务出人意料地简单,而且很常见,因此将有更多关于它的教程。另外,它们是VisualStudio中的标准项目类型,请不要忘记将服务设置为在启动时运行


一位同事不久前也遇到过类似的问题,不要使用计时器或while(true)循环,这是一种浪费,可以使用文件事件侦听器来检测相关文件夹中正在创建的文件。

为什么不使用FileSystemWatcher而不是计时器来监视文件夹中是否出现文件? 您可以在windows服务中实现它,该服务允许它始终在后台工作,而不依赖于正在运行的应用程序

下面是一个如何在windows服务中实现filesystemwatcher的简单示例


为什么不使用FileSystemWatcher而不是计时器来监视文件夹中是否出现文件? 您可以在windows服务中实现它,该服务允许它始终在后台工作,而不依赖于正在运行的应用程序

下面是一个如何在windows服务中实现filesystemwatcher的简单示例


为什么不使用FileSystemWatcher而不是计时器来监视文件夹中是否出现文件? 您可以在windows服务中实现它,该服务允许它始终在后台工作,而不依赖于正在运行的应用程序

下面是一个如何在windows服务中实现filesystemwatcher的简单示例


为什么不使用FileSystemWatcher而不是计时器来监视文件夹中是否出现文件? 您可以在windows服务中实现它,该服务允许它始终在后台工作,而不依赖于正在运行的应用程序

下面是一个如何在windows服务中实现filesystemwatcher的简单示例


正如我所说的,我太迷茫了,不知道从哪里开始,我所拥有的只是工作的方法(应用程序准备好了),我只需要实现这个新功能。正如我所说的,我太迷茫了,我不知道从哪里开始,我所拥有的只是工作的方法(应用程序准备好了),我只需要实现这个新功能。正如我所说的,我太迷茫了,不知道从哪里开始,我所拥有的只是工作的方法(应用程序准备好了),我只需要实现这个新功能。正如我所说的,我太迷茫了,我不知道从哪里开始,我所拥有的是工作的方法(应用程序准备好了),我只需要实现这个新功能。同意,我会使用topshelf:,很容易使用。@Colin Steel,我会像你说的那样尝试一下,但还有一个问题,我应该在我的windows窗体中创建windows服务吗?windows窗体和windows服务之间是否可以交互?我的意思是说在windows窗体中,在x分钟内从x开始验证文件夹?不,服务必须是它自己的项目,并且它将出现在TaskManager的服务列表中,至于应用程序和服务之间的通信,我自己从来没有这样做过。StackOverflow确实对如何在两个应用程序之间进行通信有疑问,因此这可能是一个起点,除此之外,我只能考虑在这两个应用程序之间使用网络/端口通信,现在这样做很有用如果您的服务将在服务器上运行,同意,我将使用topshelf:,非常容易使用。@Colin Steel,我会像你说的那样尝试一下,但还有一个问题,我应该在我的windows窗体中创建windows服务吗?windows窗体和windows服务之间是否可以交互?我的意思是说在windows窗体中,从x在x分钟内验证文件夹?否