Explorar o código

OrderedTaskScheduler放在App中,全局共享,逻辑可以共用一个线程

tanghai %!s(int64=15) %!d(string=hai) anos
pai
achega
ec5e37efef
Modificáronse 2 ficheiros con 10 adicións e 5 borrados
  1. 9 2
      CSharp/Editor/App.xaml.cs
  2. 1 3
      CSharp/Editor/ViewModel/MainViewModel.cs

+ 9 - 2
CSharp/Editor/App.xaml.cs

@@ -1,6 +1,6 @@
-using System.Windows;
+using System.Threading.Tasks.Schedulers;
+using System.Windows;
 using GalaSoft.MvvmLight.Threading;
 using GalaSoft.MvvmLight.Threading;
-using System.ComponentModel;
 
 
 namespace Egametang
 namespace Egametang
 {
 {
@@ -12,6 +12,13 @@ namespace Egametang
 		static App()
 		static App()
 		{
 		{
 			DispatcherHelper.Initialize();
 			DispatcherHelper.Initialize();
+			OrderedTaskScheduler = new OrderedTaskScheduler();
+		}
+
+		public static OrderedTaskScheduler OrderedTaskScheduler
+		{
+			get;
+			private set;
 		}
 		}
 	}
 	}
 }
 }

+ 1 - 3
CSharp/Editor/ViewModel/MainViewModel.cs

@@ -1,6 +1,5 @@
 using System;
 using System;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
-using System.Threading.Tasks.Schedulers;
 using System.Windows.Threading;
 using System.Windows.Threading;
 using GalaSoft.MvvmLight;
 using GalaSoft.MvvmLight;
 using GalaSoft.MvvmLight.Command;
 using GalaSoft.MvvmLight.Command;
@@ -12,7 +11,6 @@ namespace Egametang
 	{
 	{
 		private readonly IDataService dataService;
 		private readonly IDataService dataService;
 		private string loginResult = "";
 		private string loginResult = "";
-		private OrderedTaskScheduler orderedTaskScheduler = new OrderedTaskScheduler();
 
 
 		public MainViewModel(IDataService dataService)
 		public MainViewModel(IDataService dataService)
 		{
 		{
@@ -56,7 +54,7 @@ namespace Egametang
 					{
 					{
 						LoginResult = "Login OK!";
 						LoginResult = "Login OK!";
 					}));
 					}));
-			}, orderedTaskScheduler);
+			}, App.OrderedTaskScheduler);
 			task.Start();
 			task.Start();
 		}
 		}