0

私が行っているバックアップ プログラムでは、既に GUI を完成させています。次に、機能要件を実行したいと思います。各バックアップにはスケジュールを設定できます。毎週日曜日や月曜日などの事前定義された設定がありますが、ユーザーは自分のスケジュールを指定することもできます.

私はこのようなことをしたことがないので、x 時間または x 日ごとにバックアップを実行するための適切なアプローチは何かと考えていました。スレッドを使用するか、サービスを作成することを考えていましたが、どちらの分野もまったく新しいものです。ここで最善の方法は何ですか?

4

2 に答える 2

0

スレッド開発とサービス開発の両方がまったく新しいものである場合、これを有用な方法で実装するのに苦労することになると思います。たとえそうであっても...

スケジューラ タイプのアプリケーションは、サービスとして実行するのが最適です。それ以外の場合は、アプリケーションを実行するためにユーザーがログインする必要があるためです。サービスは、ログインしているユーザーとは独立して実行されます。

ただし、このため、サービスにはユーザー インターフェイスがないため、GUI はスケジュールの詳細をどこかの構成ファイルにパッケージ化し、その構成ファイルを再ロードするようにサービスに通知する必要があります。すること、いつするか。

通常、サービスはワーカー スレッドを生成してほぼすべてのことを行います。そのワーカー スレッドは、シャットダウンされるサービスに応答できる必要があります (AutoResetEventスレッド間でこれがどのように行われるかについては、以下を参照してください)。スレッドは、イベントが発生するか、適切な時間が到着するまで待機し、必要な処理を実行します。

これは実際には複雑ではありませんが、最初にマルチスレッド プログラミングを掘り下げることをお勧めします。

于 2013-07-02T09:23:08.757 に答える
0

ColinM の意見に同意します。サービスはスケジューラ タイプのアプリケーションに最適です。サービスとアプリケーションを組み合わせて、スケジュールされた間隔でコードを実行する必要があります。詳細については、記事を参照してください - http://msdn.microsoft.com/en-us/magazine/cc163821.aspx

于 2013-07-02T09:30:28.687 に答える