1

電子メールなどを自動的に送信する簡単なスケジューラー サービスを作成しようとしています。

今のところ、タイマーのインスタンスを作成し、コールバックを設定し、コールバックでいくつかの作業を行う単純な WCF サービスがあります。これで、この部分は正常に動作し、コールバックが呼び出され、その中の作業が期待どおりに行われます。

問題は、タイマーに何らかの変更を加える必要があることです。たとえば、間隔を変更するか、単に停止するだけです。

しかし、作成したタイマーのインスタンスを保存/取得する方法がわかりません。新しいプロキシを作成してサービスにアクセスするたびに、サービスの新しいインスタンスを取得します...

静的変数を使用できることは知っていますが、そのようなものは「シングルトン」サービスになり、現在使用しているサービスホストはそれをサポートしていません...

では、以前の呼び出しで実際に作成したタイマー/スレッドのインスタンスを取得するにはどうすればよいでしょうか? それとも、私はこれについて間違った方法で進んでいますか?

4

1 に答える 1

0

静的は、ここではそれほど悪い考えではありません。おそらく、その static は Guid によってキー付けされた辞書であり、Guid はクライアントに返されます。後続のクライアント呼び出しは Guid パラメーターを使用するため、サービスの新しいインスタンスは Guid を使用してタイマーを検索します。

于 2011-08-18T04:43:46.283 に答える