3

ASP.net (C#)でサイトを開発しており、次の要件があります。

サイトは毎晩 RSS フィードからデータを取得し、いくつかの計算を実行し、計算された値で DB を更新する必要があります。共有ホスティング環境でこれを実現するにはどうすればよいですか?

私が通常得る答えは、これを行う Windows サービスを持つことですが、共有ホスティング環境で Windows サービスを実行することは許可されていないため、これを使用することはできません。

私が見つけた他の代替手段は、https: //blog.stackoverflow.com/2008/07/easy-background-tasks-in-aspnet/ で説明されているように HttpRuntime.Cache を使用することでした

しかし、そのアプローチには多くの短所があるようです。他のアプローチはありますか?

4

2 に答える 2

3

一部の (ほとんどの?) 共有ホスティング プロバイダーでは、少なくとも私が使用したものでは、コントロール パネルからタスクをスケジュールできます。discountasp.net とラックスペースも知っています。

プロバイダーにその機能がある場合は、指定された時間に特定のasp.net Webページを呼び出してロードし、その作業を実行してください。多くの小さなタスクでは、これが最も抵抗の少ない方法です。

その機能が提供されておらず、プロバイダーを切り替えたくない場合は、可能な限り、ISP にないマシンからいつでもスケジュールされたタスクを実行できます (Windows サーバーに組み込まれているタスクを使用します)。そこからデータベースにアクセスします。私も過去にこの方法を使ったことがあります。適切なタイミングで確実にオンになっているマシンであれば、問題ありません。

于 2013-04-08T14:31:49.933 に答える