0

Google Reader! のような通信社の 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;

4

0 に答える 0