1

データベース部分にMSSQLサーバーを備えたVB.NetWindowsフォームアプリケーションがあります。データベース内の一部の日付機密データに応じて、1人以上の受信者に送信される通知メールを作成する場合と作成しない場合があるメソッドを実行する必要があります。このアプリケーションは毎日使用できない場合があります。したがって、理想的には、メインフォームのフォームロードと言うようにそのメソッドをバインドしたくありません。これはどのように達成できますか?

4

1 に答える 1

3

クライアントアプリケーションでそのロジックを使用したくない場合があります。頭に浮かぶ3つの方法があります:

  1. ロジックをSQLServerに配置し、毎日実行するようにスケジュールされたジョブを作成します
  2. 小さなユーティリティアプリケーションを作成し、それを1日1回にスケジュールします
  3. 常に実行され、これらのジョブを処理するWindowsサービスを作成します

通知メールを送信するかどうかを決定するために必要なすべてのデータがデータベースにあり、SQLサーバーでジョブを作成するためのアクセス権がある場合は、そのルートをお勧めします。

ただし、決定を下したり、電子メールを送信したりするために必要な外部コンポーネントがある場合は、アプローチ2または3のいずれかを使用することをお勧めします。アプリケーションを作成して毎日実行するようにスケジュールするのは簡単ですが、サービスには対話型ログオンセッションを必要としないという利点があります(つまり、ユーザーがコンピューターにアクティブにログインする必要はありません)。サーバ。

于 2013-03-12T15:30:24.010 に答える