有一个应用程序可以从新闻机构的 rss 收集新闻,例如 Google Reader!。我想在一段时间内调用一种方法来更新我在数据库中的链接,并且它会持续到应用程序生命周期。时钟之类的东西!!!没有任何停顿
我知道一些关于线程的信息,但问题是:
我在哪里可以调用我的更新方法?
我有一些类,其中一些派生自其他类,我用来在我的项目中分层
我调用 Global.asax 中的方法:
protected void Application_Start(object sender, EventArgs e)
{
Thread thread = new Thread(new ThreadStart(UpdateRss));
thread.Start();
Thread.Sleep(1000);
}
public void UpdateRss()
{
while (true)
{
using (LinkService linkSrv = new LinkService())
{
linkSrv.UpdateLinksFromRSS();
}
}
}
LinkService 中 UpdateLinksFromRSS 的定义为:
public void UpdateLinksFromRSS()
{
List<RssInfo> q;
using (RssService RssSrv = new RssService())
{
q = RssSrv.GetRssInfoes();
}
foreach (var item in q)
{
AddLink(item);
}
}
老实说,问题是我在 BaseService 中有一个属性,定义如下:
public static System.Web.Caching.Cache Cache
{
get { return HttpContext.Current.Cache; }
}
当我运行项目时!我从这一行得到一个错误:return HttpContext.Current.Cache;