Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/rx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Rx/NET/Test/Rx/WindowsPhoneAgent8/ScheduledAgent.cs')
-rw-r--r--Rx/NET/Test/Rx/WindowsPhoneAgent8/ScheduledAgent.cs52
1 files changed, 52 insertions, 0 deletions
diff --git a/Rx/NET/Test/Rx/WindowsPhoneAgent8/ScheduledAgent.cs b/Rx/NET/Test/Rx/WindowsPhoneAgent8/ScheduledAgent.cs
new file mode 100644
index 0000000..88561e6
--- /dev/null
+++ b/Rx/NET/Test/Rx/WindowsPhoneAgent8/ScheduledAgent.cs
@@ -0,0 +1,52 @@
+using System.Diagnostics;
+using System.Windows;
+using Microsoft.Phone.Scheduler;
+using System.Reactive.Linq;
+using System;
+
+namespace WindowsPhoneAgent8
+{
+ public class ScheduledAgent : ScheduledTaskAgent
+ {
+ /// <remarks>
+ /// ScheduledAgent constructor, initializes the UnhandledException handler
+ /// </remarks>
+ static ScheduledAgent()
+ {
+ // Subscribe to the managed exception handler
+ Deployment.Current.Dispatcher.BeginInvoke(delegate
+ {
+ Application.Current.UnhandledException += UnhandledException;
+ });
+ }
+
+ /// Code to execute on Unhandled Exceptions
+ private static void UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
+ {
+ if (Debugger.IsAttached)
+ {
+ // An unhandled exception has occurred; break into the debugger
+ Debugger.Break();
+ }
+ }
+
+ /// <summary>
+ /// Agent that runs a scheduled task
+ /// </summary>
+ /// <param name="task">
+ /// The invoked task
+ /// </param>
+ /// <remarks>
+ /// This method is called when a periodic or resource intensive task is invoked
+ /// </remarks>
+ protected override void OnInvoke(ScheduledTask task)
+ {
+ //TODO: Add code to perform your task in background
+
+ Observable.Return("").Delay(TimeSpan.FromSeconds(1)).Subscribe(_ =>
+ {
+ NotifyComplete();
+ });
+ }
+ }
+} \ No newline at end of file