2012-04-16 17 views
2

私は、GPS緯度/経度座標を使用してリアルタイムに近い輸送車両を追跡するクラスライブラリに取り組んでいます。外部WebサービスからPOCOモデルクラスを自己更新する

図書館は、トランジットサービスによって提供されるレストXMLウェブサービスから車両の位置を取得します。自分のアプリケーションのリフレッシュ方法で手動で呼び出したり更新したりせずに、自動的に車座標を更新するようにします。クラスは自動的に最新のデータで自身を更新し、更新時にイベントを発生させます。以下のための既存の問題がある場合、私は謝罪

は、それが自動時限イベントを使用して、オブジェクトの内部タイマーのデータを更新することは可能ですかこれはアウトがクラス

内のメッセージポンプを実行しているでは不可能ですこのタイプのものがある場合は、私はGoogleやサイトの検索を使用してそれを見つけることができませんでした。

答えて

2

System.Threading.Timerを使用できます。それはスレッドプールスレッド上で "刻む"ので、メッセージループを必要としません。つまり、UIを更新するためにUIスレッドにマーシャリングする必要があります。

+0

私はポンプを必要とせずにオブジェクト内のイベントハンドラを使用することができます。理論的には私のUIスレッドがWPFコントロールを新しい情報で更新するために使用できるイベントを発生させることができますか? –

+0

はい、私が言ったように、 "Tick"メソッドはスレッドプールスレッドで呼び出されます。したがって、そのメソッドでイベントを発生させただけでは、サブスクライバメソッドもスレッドプールスレッド上で実行されます。 「Tick」メソッドとUIコントロールの更新の間のどこかで、UIスレッドにマーシャリングする必要があります。 –

+0

私はちょうどマーシャルとは何かをマルチスレッドに少し新しいと私はそれについて行くだろう –

関連する問題