c# - 如何轮询 ASP.NET 中的目录?

标签 c# asp.net

我想轮询一个目录以检查是否有新文件添加到 ASP.NET Web 应用程序 (C#) 中的目录中。如果添加了任何新文件,我想阅读该文件。

谁能告诉我怎么做?

谢谢。

最佳答案

通常你会使用the FileSystemWatcher class .但是,您还有另一个问题。 Web 应用程序并不真正适合后台进程。您可以通过使用后台任务和一般的线程来摆脱它,但这可能不是一个好主意。始终假设您的 Web 应用程序是无状态的,并且可以随时由服务器重新启动。

问问自己:

  • 什么会触发这次投票?
  • 应用程序将如何响应此轮询?

Web 应用程序本质上是一个请求/响应系统。因此,任何服务器端逻辑(例如轮询)都应由请求触发。但是一旦给出回应,民意调查将会变成什么样?假设您在 Web 应用程序中 fork 出一个线程,该线程将在后台进行轮询。当它找到东西时会做什么?此时没有请求/响应与之交互。

这个轮询是否可以委托(delegate)给另一个应用程序?也许是 Windows 服务?然后,为了响应在轮询期间找到的东西,它可以修改 Web 应用程序数据库中的值。这样,以后对 Web 应用程序的请求就会看到更新后的状态。

这会在架构层面更清楚地分离关注点。

关于c# - 如何轮询 ASP.NET 中的目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11012803/

相关文章:

c# - 如何配置 ASP.NET 应用程序的环境?

jquery - 将 jquery 数据传递给 WebMethod

asp.net - 寻找灵活的方法来指定 ASP.NET 成员资格使用的连接字符串

c# - 在 asp.net 中解决 'Potentially Dangerous Request' 错误的最佳方法是什么?

c# - 在 C# 中将日期值转换为特定格式

c# - WPF DataGrid - 如何在添加新行时将注意力集中在 DataGrid 的底部?

ASP.NET Core - TagHelper、部分 View 和属性名称冲突

C#如何实现带时间步长的循环

c# - 按代码创建发票

asp.net - 处理 WIF 中的并发身份提供商声明