2011-09-12 10 views
2

WP7アプリケーションの場合、msdnのいくつかの例に従ってPeriodTaskを実行することができました(トーストメッセージを送信します)。今私が欲しいことをするために拡張を探しています。WP7定期的な作業 - その中でできること

タスクはバックグラウンドで実行されており、フォアグラウンドアプリが実行されている場合は、タスクと通信する必要はありません。私は、このバックグラウンドタスクの中で何ができるか、そしてそこからどのようなコードにアクセスできるのかを少しは確信しています。

私は使用しているデータベース(スターリング)にアクセスしてライブタイルを更新したいと考えています。おそらく、独立して実行されているので、データベースを開く必要があります。このバックグラウンドプロセス内でタイルを実行してデータベースを閉じる必要があります。これは大丈夫でしょうか?私のScheduledAgentクラスのOnInvokeメソッドの中から、私のScheduledTaskプロジェクトにそのプロジェクトへの参照を含める限り、フォアグラウンドプロジェクトのクラスに定義されているコードを呼び出すことができます。バックグラウンド定期タスクアプリケーション内で実行されているコードに問題はありませんか?

  • ありがとう。 BackgroundAgentで

答えて

2

あなたは離れて使用からサポートされていないリスト内のAPIは何もを行うことができます。http://msdn.microsoft.com/en-us/library/hh202962(v=vs.92).aspx

「市場テストキットは、」サポートされていないのAPIの使用を検出します。

+1

また、サポートされていないAPIを使用しているアセンブリは参照できません。 (これは共有コードをやや苦痛にさせます) –

+0

あなたに感謝します。サポートされていないAPIを使用している場合、コードを共有するのが少し難しいかもしれません。 – Peter

+0

私の定期的なタスク(scheduletaskprojectにあります)では、私のMainprojectを参照してライブタイルを更新するコードを実行する予定でした。しかし、循環参照を引き起こすように、MainProjectをScheduleTaskprojectへの参照として追加することはできません。ですから、何らかの共通プロジェクトに注意深くリファクタリングする必要がありますか?おそらく、これはスケジュールされたタスクプロジェクトで何をする必要があるかに応じて作業するための問題です。 – Peter

0

私のソリューションでは、データ/モデルを表すクラスを作成した小さなデータモデルプロジェクトを追加しました。 メインアプリケーションから、そのインスタンス化されたオブジェクトを独立したストレージに保存します。 scheduletaskプロジェクトでは、Small Modelプロジェクトも参照する場合には、格納されたインスタンスを独立したストレージから取得することができます。

私が誤解していない場合は、5MBのメモリ制限もあります。したがって、scheduletaskプロジェクト内のDBを使用すると問題が発生する可能性があります(参照:http://csainty.blogspot.com/2011/08/wp75-mangobackground-agents.html

関連する問題