public async Task EnsureStartedAsync(string fileName = null) { using (await _lock.LockAsync()) { try { //we keep just one instance of the server manager per projec if (CurrentProject != null && GetActiveProject(fileName).UniqueName != GetCurrentProjectUniqueNameSafely()) { _overwriteTemplatesDuringNextSync = true; await StopAsync(); } Trace.WriteLine("Creating server"); _serverManager = _serverManager ?? CreateServerManager(fileName); Trace.WriteLine("Created"); await RemoteTask.ClientComplete(_serverManager.EnsureStartedAsync(), CancellationToken.None) .ConfigureAwait(false); } catch (Exception e) { CurrentProject = null; _serverManager = null; Trace.TraceError("Failed to start jsreport server " + e); throw; } } }
public async Task EnsureStartedAsync(string fileName = null) { using (await _lock.LockAsync()) { try { //we keep just one instance of the server manager per projec if (CurrentProject != null && GetActiveProject(fileName).UniqueName != GetCurrentProjectUniqueNameSafely()) { _overwriteTemplatesDuringNextSync = true; await StopAsync(); } Trace.WriteLine("Creating server"); _serverManager = _serverManager ?? CreateServerManager(fileName); Trace.WriteLine("Created"); await RemoteTask.ClientComplete(_serverManager.EnsureStartedAsync(), CancellationToken.None) .ConfigureAwait(false); } catch (Exception e) { CurrentProject = null; _serverManager = null; Trace.TraceError("Failed to start jsreport server " + e); throw; } } }
public async Task StopAsync() { using (await _lock.LockAsync()) { Trace.WriteLine("Stopping server"); try { ClearCache(); if (_serverManager != null) { IReportingServerManager tmpServerManager = _serverManager; _serverManager = null; await RemoteTask.ClientComplete(tmpServerManager.StopAsync(), CancellationToken.None) .ConfigureAwait(false); } } //stopping does not need to go well catch (Exception e) { Trace.TraceError(e.ToString()); } finally { Trace.WriteLine("Stoppedr"); } } }
public async Task StopAsync() { using (await _lock.LockAsync()) { Trace.WriteLine("Stopping server"); try { ClearCache(); if (_serverManager != null) { IReportingServerManager tmpServerManager = _serverManager; _serverManager = null; await RemoteTask.ClientComplete(tmpServerManager.StopAsync(), CancellationToken.None) .ConfigureAwait(false); } } //stopping does not need to go well catch (Exception e) { Trace.TraceError(e.ToString()); } finally { Trace.WriteLine("Stoppedr"); } } }