Codemaru 1.0.0.0
QR 코드, 모바일 랜딩 페이지, vCard 연락처 저장과 명함 디자인을 한 화면에서 제공하는 디지털 명함 서비스입니다.
로딩중...
검색중...
일치하는것 없음
Codemaru.Services.Certificates.NginxReloadService 클래스 참조sealed

더 자세히 ...

Codemaru.Services.Certificates.NginxReloadService에 대한 상속 다이어그램 :
Codemaru.Services.Certificates.NginxReloadService에 대한 협력 다이어그램:

Public 멤버 함수

 NginxReloadService (IProcessRunner processRunner)
async Task< ProcessExecutionResultReloadAsync (CertificateMonitorOptions options, CancellationToken cancellationToken)

정적 Private 멤버 함수

static string JoinSections (string firstTitle, string firstValue, string secondTitle, string secondValue)

Private 속성

readonly IProcessRunner _processRunner

상세한 설명

nginx 설정 검증 후 reload 명령을 실행합니다.

NginxReloadService.cs 파일의 14 번째 라인에서 정의되었습니다.

생성자 & 소멸자 문서화

◆ NginxReloadService()

Codemaru.Services.Certificates.NginxReloadService.NginxReloadService ( IProcessRunner processRunner)
inline

NginxReloadService 클래스의 새 인스턴스를 초기화합니다.

매개변수
processRunner외부 프로세스 실행 서비스입니다.
예외
ArgumentNullException필수 입력 인자 중 하나가 null인 경우 발생합니다.

NginxReloadService.cs 파일의 50 번째 라인에서 정의되었습니다.

51 {
52 _processRunner = processRunner ?? throw new ArgumentNullException(nameof(processRunner));
53 }

다음을 참조함 : _processRunner.

멤버 함수 문서화

◆ JoinSections()

string Codemaru.Services.Certificates.NginxReloadService.JoinSections ( string firstTitle,
string firstValue,
string secondTitle,
string secondValue )
inlinestaticprivate

Join Sections 작업을 수행합니다.

매개변수
firstTitlefirst Title에 사용할 string 값입니다.
firstValuefirst Value에 사용할 string 값입니다.
secondTitlesecond Title에 사용할 string 값입니다.
secondValuesecond Value에 사용할 string 값입니다.
반환값
Join Sections 작업에서 생성한 string 결과입니다.

NginxReloadService.cs 파일의 179 번째 라인에서 정의되었습니다.

180 {
181 string first = string.IsNullOrWhiteSpace(firstValue) ? string.Empty : $"{firstTitle}{Environment.NewLine}{firstValue}";
182 string second = string.IsNullOrWhiteSpace(secondValue) ? string.Empty : $"{secondTitle}{Environment.NewLine}{secondValue}";
183 return string.Join(Environment.NewLine, new[] { first, second }.Where(x => !string.IsNullOrWhiteSpace(x)));
184 }

다음에 의해서 참조됨 : ReloadAsync().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ ReloadAsync()

async Task< ProcessExecutionResult > Codemaru.Services.Certificates.NginxReloadService.ReloadAsync ( CertificateMonitorOptions options,
CancellationToken cancellationToken )
inline

Reload Async 작업을 수행합니다.

매개변수
options동작을 구성하는 설정입니다.
cancellationToken취소 요청을 감시하는 토큰입니다.
반환값
Reload Async 작업에서 생성한 Task<ProcessExecutionResult> 결과입니다.

Codemaru.Services.Certificates.INginxReloadService를 구현.

NginxReloadService.cs 파일의 87 번째 라인에서 정의되었습니다.

88 {
89 ArgumentNullException.ThrowIfNull(options);
90
91 ProcessExecutionResult testResult = await _processRunner.RunAsync(
92 options.NginxPath,
93 "-t",
95 TimeSpan.FromSeconds(30),
97 cancellationToken).ConfigureAwait(false);
98
99 if (!testResult.IsSuccess)
100 {
101 return new ProcessExecutionResult
102 {
103 IsSuccess = false,
104 ExitCode = testResult.ExitCode,
105 Output = testResult.Output,
106 Error = testResult.Error,
107 Message = $"nginx config test failed. {testResult.Message}"
108 };
109 }
110
111 ProcessExecutionResult reloadResult = await _processRunner.RunAsync(
112 options.NginxPath,
113 options.NginxReloadArguments,
114 options.NginxWorkingDirectory,
115 TimeSpan.FromSeconds(30),
116 options.MaxCommandOutputChars,
117 cancellationToken).ConfigureAwait(false);
118
119 return new ProcessExecutionResult
120 {
121 IsSuccess = reloadResult.IsSuccess,
122 ExitCode = reloadResult.ExitCode,
123 Output = JoinSections("[nginx -t]", testResult.Output, "[nginx reload]", reloadResult.Output),
124 Error = JoinSections("[nginx -t]", testResult.Error, "[nginx reload]", reloadResult.Error),
125 Message = reloadResult.IsSuccess
126 ? "nginx config test passed and reload completed successfully."
127 : $"nginx config test passed, but reload failed. {reloadResult.Message}"
128 };
129 }

다음을 참조함 : _processRunner, Codemaru.Models.Certificates.Error, Codemaru.Models.Certificates.ProcessExecutionResult.Error, Codemaru.Models.Certificates.ProcessExecutionResult.ExitCode, Codemaru.Models.Certificates.ProcessExecutionResult.IsSuccess, JoinSections(), Codemaru.Options.CertificateMonitorOptions.MaxCommandOutputChars, Codemaru.Options.CertificateMonitorOptions.NginxPath, Codemaru.Options.CertificateMonitorOptions.NginxReloadArguments, Codemaru.Options.CertificateMonitorOptions.NginxWorkingDirectory, Codemaru.Models.Certificates.ProcessExecutionResult.Output.

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ _processRunner

readonly IProcessRunner Codemaru.Services.Certificates.NginxReloadService._processRunner
private

process Runner 값을 보관합니다.

NginxReloadService.cs 파일의 24 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : NginxReloadService(), ReloadAsync().


이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: