如何在WCF中运行程序?

时间:2012-01-14 13:30:53

标签: c# asp.net database wcf web-crawler

我是WCF的新手,我正在设计一个项目,我想在其中运行一个爬虫程序(用c#编码),它爬行一些网站并将爬网数据存储在数据库表(sql server db)中。我希望抓取器在30分钟后重复运行并更新数据库。

我想在托管平台上使用该服务,以便我可以使用网络表格中的数据(即.aspx页面)

为此可以使用WCF吗?

请建议我如何继续前进?

由于

2 个答案:

答案 0 :(得分:3)

Windows Communication Foundation(WCF)负责通过不同的渠道技术进行2点之间的通信。如果你想在两点之间发送/接收一些数据而不管频道技术(TCP / UDP / NetPipe / MSMQ,......),你将使用WCF

但是您首先需要设计一个配置为从目标网站获取数据的爬虫应用程序,然后您需要使用设计一个调度程序应用程序 http://quartznet.sourceforge.net/
运行你的爬虫。

运行和存储网页后,如果需要与中心服务器进行复制或同步,可以使用WCF,但它是可选的

答案 1 :(得分:2)

您可以使用WCF服务执行此操作,但我会进行其他设置:

  1. 我将构建一个Windows应用程序,计划由Windows任务计划程序每30分钟运行一次。一个简单的控制台应用程序可能没问题。

  2. 我使用Web应用程序(可能是ASP MVC)来查询数据库。

  3. 如您所见,根本不需要使用WCF。

    当服务器不是您的服务器但您正在使用不允许您安排Windows任务的托管服务提供商时,可以/必须进行例外处理。在这种情况下,您可能希望通过Web应用程序手动运行爬网过程,并在30分钟后重复该过程。

    某些托管服务提供商确实允许以不同的方式安排任务,因此可能值得研究。