Asp.net 在.Net网站中,当文件夹内容发生更改时,我可以使用哪些选项发送电子邮件警报?

Asp.net 在.Net网站中,当文件夹内容发生更改时,我可以使用哪些选项发送电子邮件警报?,asp.net,iis,Asp.net,Iis,我对.Net环境了解不多,所以我的第一个想法是编写一个控制台应用程序,扫描文件夹中的新内容,然后发送电子邮件通知。然后将.exe作为计划任务放在服务器上,每隔几分钟执行一次。但对我来说,这似乎太过时了。有没有更优雅的方式来为我的网站做到这一点 您可以使用。创建一个持续运行的Windows服务,并将事件附加到观察者以发送电子邮件 请注意,这会报告每次更改,有时会报告多次更改(例如,我认为移动文件就是删除和创建),因此您可能希望限制发送的电子邮件数量。在发送数百封电子邮件之前,先做一点实验——在那里

我对.Net环境了解不多,所以我的第一个想法是编写一个控制台应用程序,扫描文件夹中的新内容,然后发送电子邮件通知。然后将.exe作为计划任务放在服务器上,每隔几分钟执行一次。但对我来说,这似乎太过时了。有没有更优雅的方式来为我的网站做到这一点

您可以使用。创建一个持续运行的Windows服务,并将事件附加到观察者以发送电子邮件

请注意,这会报告每次更改,有时会报告多次更改(例如,我认为移动文件就是删除和创建),因此您可能希望限制发送的电子邮件数量。在发送数百封电子邮件之前,先做一点实验——在那里,做到这一点:)

你可以使用。创建一个持续运行的Windows服务,并将事件附加到观察者以发送电子邮件


请注意,这会报告每次更改,有时会报告多次更改(例如,我认为移动文件就是删除和创建),因此您可能希望限制发送的电子邮件数量。在发送数百封电子邮件之前,先做一点实验,不管你选择什么类型的应用程序,都要这样做:)

获取.NET文件夹更改通知的方式是通过类来实现的。一种很好的方法是在后台运行并侦听通知。

无论您选择何种类型的应用程序,都可以通过类获取有关.NET中文件夹更改的通知。一个很好的方法是在后台运行并侦听通知。

谢谢。这很有帮助。我想我的主题写得不好。我真正想要的是,在计时器上执行代码,或者在应用程序启动时启动并保持其运行的正确方式是什么。在global.asax文件中是否有我可以在计时器上执行的东西?我不想写一个控制台应用程序,让windows调度任务来执行它,这似乎有些古怪,而且如果有人移动了网站,他们也必须记住移动调度任务。谢谢。这很有帮助。我想我的主题写得不好。我真正想要的是,在计时器上执行代码,或者在应用程序启动时启动并保持其运行的正确方式是什么。在global.asax文件中是否有我可以在计时器上执行的东西?我不想写一个控制台应用程序,让windows计划的任务执行它,这似乎有些古怪,而且如果有人移动了网站,他们也必须记住移动计划的任务。windows服务是我唯一的选择吗?我希望在网站数据和配置文件中完全包含一些内容。当然不是,您可以在ASP.NET应用程序中始终使用
FileSystemWatcher
,这里没有问题。这就是我想要的。如何在应用程序启动时实例化FileSystemWatcher并使其保持运行?您可以在
global.asax
文件的
Application\u Start
事件中实例化它。然后你分配你感兴趣的事件处理程序,当这些事件发生时它们会被触发,这样你就可以发送你的电子邮件了,这就是我想要的。谢谢windows服务是我唯一的选择吗?我希望在网站数据和配置文件中完全包含一些内容。当然不是,您可以在ASP.NET应用程序中始终使用
FileSystemWatcher
,这里没有问题。这就是我想要的。如何在应用程序启动时实例化FileSystemWatcher并使其保持运行?您可以在
global.asax
文件的
Application\u Start
事件中实例化它。然后你分配你感兴趣的事件处理程序,当这些事件发生时它们会被触发,这样你就可以发送你的电子邮件了,这就是我想要的。谢谢windows服务是我唯一的选择吗?我希望在网站数据和配置文件中完全包含一些内容。windows服务是我唯一的选择吗?我希望在网站数据和配置文件中完全包含一些内容。