Windows Phone 7 アプリケーションを Windows 8 に移植し始めました。サービスの開始と停止に IApplicationService 継承クラスを使用しています。Windows 8で同じことを達成するにはどうすればよいですか。以下にWindows Phoneコードを添付しています。私を助けてください。そのブロッキング セクションは少し難しいようです。
public class ApplicationService : IApplicationService
{
private IApplicationService _logger;
private IApplicationService _dataSourceManager;
public void StartService(ApplicationServiceContext context)
{
_logger = new Logger();
_dataSourceManager = new DataSourceManager();
_logger.StartService(context);
_dataSourceManager.StartService(context);
}
private IApplicationService LoadService(string assemblyName, string typename)
{
var parts = Deployment.Current.Parts;
if (parts.Any(part => part.Source.StartsWith(assemblyName)))
{
var assembly = Assembly.Load(assemblyName);
Type type = assembly.GetType(typename);
return Activator.CreateInstance(type, new[] {
SynchronizationContext.Current }) as IApplicationService;
}
return null;
}
public void StopService()
{
Current.StopService();
_dataSourceManager.StopService();
_logger.StopService(); // stop last because other services depend on it
_logger = null;
_dataSourceManager = null;
}
}