- PR -

C#で日付変更のイベントを取りたい

1
投稿者投稿内容
atsushi
会議室デビュー日: 2005/11/21
投稿数: 5
投稿日時: 2005-11-21 11:33
日付が変更したらメールを送信するプログラムを書いています。
C#で日付が変更したことを確認する方法はないでしょうか?

sleepである一定時間ごとに日付を確認して、日付が変わったらメールを送る
といったプログラムは書きたくないのです。

またATコマンドをつかって毎日メールを送るプログラムを実行する
といった方法も取りたくないのです。

わがままなのですが、なにかいい方法をご存知の方がいらしたら
ご教授くださるようお願いいたします。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-11-21 11:42
引用:

atsushiさんの書き込み (2005-11-21 11:33) より:

sleepである一定時間ごとに日付を確認して、日付が変わったらメールを送る
といったプログラムは書きたくないのです。


監視するプログラムと、実行するプログラムを分ければスッキリすると思いますが...

引用:

またATコマンドをつかって毎日メールを送るプログラムを実行する
といった方法も取りたくないのです。


タスク スケジューラは如何でしょう?
送信プログラムを実行するだけですよね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
atsushi
会議室デビュー日: 2005/11/21
投稿数: 5
投稿日時: 2005-11-21 12:02
引用:

じゃんぬねっとさんの書き込み (2005-11-21 11:42) より:

監視するプログラムと、実行するプログラムを分ければスッキリすると思いますが...



たしかに分ければすっきりすると思うのですが、
もし日付変更のイベントがあれば
sleepをつかったり、前回実行した時の日付を記憶しておくような処理が
必要でなくなるのでスッキリしたプログラムがかけるのではないかなぁ
と思ったのです。

引用:

タスク スケジューラは如何でしょう?
送信プログラムを実行するだけですよね。



私もこの方法を使って生きたいのですがMGRから
Windows Service を作成して実現できないか?
と言われこまってるんですよぉ


渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2005-11-21 12:17
引用:

もし日付変更のイベントがあれば
sleepをつかったり、前回実行した時の日付を記憶しておくような処理が
必要でなくなるのでスッキリしたプログラムがかけるのではないかなぁ
と思ったのです。



無いです。
提供されている機能を組み合わせて、自分で同等の効果を作り出すしかありません。

1分周期程度のタイマーを使って十分に実現できますよね?

引用:

引用:

タスク スケジューラは如何でしょう?
送信プログラムを実行するだけですよね。



私もこの方法を使って生きたいのですがMGRから
Windows Service を作成して実現できないか?
と言われこまってるんですよぉ



「1日単位のイベント」と Windows サービスは関係がありませんね。

Windows サービス化を検討するのは、「コンソールがログオン状態でなくても決められた処理を実行する」ためです。

バックエンドでメール送信をしたいんでしょうが、2つの問題を混同してはいけません。

結局

1.Windows サービスで
2.1分周期程度のタイマーで日付の変更を監視して
3.メールを送信

すればいいんでしょうが、1 と 2 については、標準の Windows サービスである「タスクスケジューラ」が提供している機能なので、わざわざ独自に再生産する意義があるのかどうか。。。

atsushi
会議室デビュー日: 2005/11/21
投稿数: 5
投稿日時: 2005-11-21 14:09
じゃんぬねっとさん、渋木宏明(ひどり)さん
レスしてくださりありがとうございます。

MGRにタスク スケジューラ使ったほうが
コードの量が減るのでバグの量も減りますよぉ
といってタスク スケジューラを使うことになりました。

どうもありがとうございます。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-11-21 18:49
引用:

渋木宏明(ひどり)さんの書き込み(2005-11-21 12:17)より:

1.Windows サービスで
2.1分周期程度のタイマーで日付の変更を監視して
3.メールを送信

すればいいんでしょうが、1 と 2 については、標準の Windows サービスである「タスクスケジューラ」が提供している機能なので、わざわざ独自に再生産する意義があるのかどうか。。。


 ですね。。。

 余計なものを作ったばっかりに、Framework のバグに泣く羽目になりました。WindowsUpdate のタイミングで再起動かけています(;>_<ビェェン
___________________________________________________________________
□ written by Jitta on 2005/11/21
□ Microsoft MVP for Visual Developer ASP/ASP.NET Oct.2005-Sept.2006
_________________
1

スキルアップ/キャリアアップ(JOB@IT)