internal LocalUtilityReportingService(IReportingBinary binary, string cwd = null, Configuration configuration = null) { _tempPath = Path.Combine(configuration.TempDirectory ?? Path.Combine(Path.GetTempPath(), "jsreport"), "autocleanup"); Directory.CreateDirectory(_tempPath); _binaryProcess = new BinaryProcess(binary, cwd, configuration); AppDomain.CurrentDomain.DomainUnload += DomainUnloadOrProcessExit; AppDomain.CurrentDomain.ProcessExit += DomainUnloadOrProcessExit; }
internal LocalUtilityReportingService(IReportingBinary binary, Configuration configuration, bool keepAlive, string cwd = null, IContractResolver dataContractResolver = null) { _dataContractResolver = dataContractResolver; _keepAlive = keepAlive; _tempPath = Path.Combine(configuration.TempDirectory, "autocleanup"); Directory.CreateDirectory(_tempPath); _binaryProcess = new BinaryProcess(binary, configuration, cwd); AppDomain.CurrentDomain.DomainUnload += DomainUnloadOrProcessExit; AppDomain.CurrentDomain.ProcessExit += DomainUnloadOrProcessExit; }
internal LocalWebServerReportingService(IReportingBinary binary, string cwd = null, Configuration configuration = null) { _binaryProcess = new BinaryProcess(binary, cwd, configuration); _binaryProcess.Configuration.HttpPort = _binaryProcess.Configuration.HttpPort ?? 5488; LocalServerUri = "http://localhost:" + _binaryProcess.Configuration.HttpPort; _reportingService = new ReportingService(LocalServerUri, _binaryProcess?.Configuration?.Authentication?.Admin?.Username, _binaryProcess?.Configuration?.Authentication?.Admin?.Password); StartTimeout = new TimeSpan(0, 0, 0, 20); StopTimeout = new TimeSpan(0, 0, 0, 3); _binaryProcess.OutputDataReceived += (s, e) => { _startOutputLogs += e.Data; OutputDataReceived?.Invoke(s, e); }; _binaryProcess.ErrorDataReceived += (s, e) => { _startErrorLogs += e.Data; OutputDataReceived?.Invoke(s, e); }; AppDomain.CurrentDomain.DomainUnload += DomainUnloadOrProcessExit; AppDomain.CurrentDomain.ProcessExit += DomainUnloadOrProcessExit; }