首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET站点递归HTTP-请求自己的URL

ASP.NET站点递归HTTP-请求自己的URL
EN

Stack Overflow用户
提问于 2013-01-27 15:46:52
回答 1查看 224关注 0票数 0

背景:我有一个ASP.NET MVC web应用程序。我希望定期捕获其用户可见的HTML内容,并将其保存到某个地方,以便跟踪内容是如何随时间演变的。我想要能够拉,例如,HTML的主页,因为它存在一年前。这可以使用某种类型的爬虫来完成,该爬虫定期运行于URL列表中。

我的问题:让网站本身向自己的URL发布HttpWebRequests是个好主意吗?我可以在网络应用程序中启动一个Timer,它每小时下载和存储一个URL。

另一种架构是在外部应用程序(如Windows )中使用爬虫。不过,这将是一个复杂得多的架构。在这个问题中,我不想探索这个选项,因为我试图用一个更简单的架构来解决问题。

如果一个HttpWebRequest**?**应用程序使用请求自己的URL,那么会出错吗?

在伪码中:

代码语言:javascript
复制
StartTimer(TimeSpan.FromHours(1), () => {
 var url = "http://localhost/SomePageInTheCurrentW3wpProcess.aspx";
 var data = new WebClient().DownloadString(url); //calling current application
 Persist(data);
});

我不知道会发生什么坏事。我在考虑解决一个重入问题。我得小心处理分散的死锁之类的。

EN

回答 1

Stack Overflow用户

发布于 2013-01-27 15:49:16

让网站本身将HttpWebRequests发布到自己的URL中是个好主意吗?

没关系,您请。运行periodic background tasks in an ASP.NET application是一项危险的任务。如果你走这条路的话,很多超出你控制范围的事情都会出错。菲尔·哈克( Phil )在他的博客文章中涵盖了其中的大部分内容。在朝那个方向走之前最好先考虑一下。

顺便说一句,如果托管Windows的体系结构对您来说太复杂了,那么定期使用Windows Scheduler运行的简单控制台应用程序就可以很好地满足要求,并且比尝试将ASP.NET用于它设计之外的事情(比如执行周期性后台任务)要好得多。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14549039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档