繁体   English   中英

如何使用 ASP.NET web 页面安排在服务器上下载文件

[英]How to schedule downloading of files on server using ASP.NET web page

如何将文件从 web 服务器下载到另一个 iis 服务器

例如,我有很多电影文件想在我的网站上托管

电影上传到其他网站,我想在我自己的网站上获取它们。

是否可以使用 ASP.NET web 页面安排在服务器上异步下载文件? 我只有 FTP 访问 web 服务器,因为我正在使用共享主机。

您可以做的一件事是使用Window 服务,即创建 Window 服务并放入计时器,这将轻松解决您的问题。

这是一篇好文章:组合 Web 和 Windows 服务以按计划的时间间隔运行您的 ASP.NET 代码

如果您使用的是共享主机,那么安排任务将会很困难。 您可以实现一个在请求时执行下载的服务页面。 此页面将在目标服务器上运行并从源服务器请求文件列表并继续下载这些文件。 服务器执行所有工作,请求服务页面的客户端可以获得服务器正在做什么的简短日志。

接下来在其他一些系统上设置一个计划任务,该任务会定期调用服务页面。

由于对服务页面的调用在客户端上的负载非常低,您几乎可以从任何地方(家庭或办公室服务器、您坐在壁橱中某处的智能路由器(dd-wrt)甚至您的智能手机)执行此操作) .

这种方法的好处是您可以通过直接从浏览器访问服务页面来手动触发从任何地方下载。

不利的一面是,如果完成下载的时间超过最大请求持续时间,您的请求可能会被终止。 如果发生这种情况,您可能需要查看异步处理程序

您可以连接一个任务以在每次页面加载或应用程序启动时运行(并定期回收应用程序池),但 ASP.NET 不是为此类任务设计的。

您最好构建一个服务或命令行工具,该工具可以附加到任务计划程序以每隔一段时间进行下载。

1) 将条目添加到 ASP.Net 应用程序中的队列 - MSMQ 或数据库表。

2) 编写一个从队列中读取并处理每个项目的 windows 服务/控制台应用程序。

您还可以使用 SQL 中的 ScheduledTask 实现 (2) - 毫无疑问,还有很多其他方式 - 关键是您将队列放在中间以提供断开连接和异步。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM