运行方法并继续WebApps生存期

时间:2012-04-04 05:37:09

标签: c# asp.net lifetime

有一个应用程序可以收集来自新闻机构的RSS的消息,可能就像谷歌阅读器! 我想调用一种方法在一段时间内更新我在DB中的链接,并继续使用应用程序生命周期。 像时钟的东西! 没有任何停顿

我知道有关线程的一些信息 但问题是:

我可以在哪里调用我的Update方法?

我有一些类,其中一些来自其他类,我用来在我的项目中进行分层

我在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;

0 个答案:

没有答案