|
WeddingPlatform.Web 1.0.0.0
지도, 갤러리, 방명록, 계좌 안내와 배경음악을 링크 하나에 담는 무료 모바일 청첩장 서비스입니다.
|


Public 멤버 함수 | |
| JsonMediaMigrationService (ITenantStore tenants, WeddingOptions options, IMediaQuotaPolicyResolver policyResolver, IImageOptimizationService imageOptimization) | |
| async Task< IReadOnlyDictionary< string, MediaMigrationTenantStatus > > | GetAllAsync (CancellationToken ct=default) |
| async Task< MediaMigrationTenantStatus?> | GetTenantStatusAsync (string slug, CancellationToken ct=default) |
| async Task | QueueTenantAsync (string slug, CancellationToken ct=default) |
| async Task | RetryTenantAsync (string slug, CancellationToken ct=default) |
속성 | |
| string | StatusPath [get] |
Private 멤버 함수 | |
| async Task | ProcessTenantSafeAsync (string slug, CancellationToken ct) |
| async Task | ProcessTenantAsync (string slug, CancellationToken ct) |
| async Task< Dictionary< string, MediaMigrationTenantStatus > > | LoadAsync (CancellationToken ct) |
| async Task | SaveAsync (Dictionary< string, MediaMigrationTenantStatus > status, CancellationToken ct) |
| bool | IsRunning (string slug) |
| void | StartBackground (string slug) |
| string | ResolveWritableOutputFormat (string? preferredFormat, string? sourceFileName) |
정적 Private 멤버 함수 | |
| static MediaMigrationTenantStatus | GetOrCreate (Dictionary< string, MediaMigrationTenantStatus > all, string slug) |
| static void | MarkFile (MediaMigrationFileStatus fileStatus, MediaMigrationState state, string message) |
| static string | BuildProgressMessage (MediaMigrationTenantStatus status, int processed, int total) |
| static string | NormalizeFormat (string? outputFormat) |
Private 속성 | |
| readonly ITenantStore | _tenants |
| readonly WeddingOptions | _options |
| readonly IMediaQuotaPolicyResolver | _policyResolver |
| readonly IImageOptimizationService | _imageOptimization |
| readonly SemaphoreSlim | _gate = new(1, 1) |
| readonly object | _runningGate = new() |
| readonly HashSet< string > | _runningSlugs = new(StringComparer.OrdinalIgnoreCase) |
| readonly JsonSerializerOptions | _jsonOptions = new() { WriteIndented = true } |
| Dictionary< string, MediaMigrationTenantStatus >? | _cache |
JSON 상태 파일을 사용해 이미지 마이그레이션을 멱등적으로 수행합니다.
JsonMediaMigrationService.cs 파일의 15 번째 라인에서 정의되었습니다.
|
inline |
지정한 설정으로 JsonMediaMigrationService 클래스의 새 인스턴스를 초기화합니다.
| tenants | tenants에 사용할 ITenantStore 값입니다. |
| options | 동작을 구성하는 설정입니다. |
| policyResolver | policy Resolver에 사용할 IMediaQuotaPolicyResolver 값입니다. |
| imageOptimization | image Optimization에 사용할 IImageOptimizationService 값입니다. |
JsonMediaMigrationService.cs 파일의 140 번째 라인에서 정의되었습니다.
다음을 참조함 : _imageOptimization, _options, _policyResolver, _tenants.
|
inlinestaticprivate |
Progress Message 값을 구성합니다.
| status | status에 사용할 MediaMigrationTenantStatus 값입니다. |
| processed | processed에 사용할 int 값입니다. |
| total | total에 사용할 int 값입니다. |
string 결과입니다.JsonMediaMigrationService.cs 파일의 910 번째 라인에서 정의되었습니다.
다음을 참조함 : WeddingPlatform.Models.MediaMigrationTenantStatus.Files.
다음에 의해서 참조됨 : ProcessTenantAsync().

|
inline |
All Async 값을 가져옵니다.
| ct | 취소 요청을 감시하는 토큰입니다. |
Task<IReadOnlyDictionary<string, MediaMigrationTenantStatus>> 결과입니다.WeddingPlatform.Services.IMediaMigrationService를 구현.
JsonMediaMigrationService.cs 파일의 176 번째 라인에서 정의되었습니다.
다음을 참조함 : LoadAsync().

|
inlinestaticprivate |
Or Create 값을 가져옵니다.
| all | all에 사용할 Dictionary<string, MediaMigrationTenantStatus> 값입니다. |
| slug | slug에 사용할 string 값입니다. |
MediaMigrationTenantStatus 결과입니다.JsonMediaMigrationService.cs 파일의 780 번째 라인에서 정의되었습니다.
다음을 참조함 : WeddingPlatform.Models.Pending.
다음에 의해서 참조됨 : ProcessTenantAsync(), ProcessTenantSafeAsync().

|
inline |
Tenant Status Async 값을 가져옵니다.
| slug | slug에 사용할 string 값입니다. |
| ct | 취소 요청을 감시하는 토큰입니다. |
Task<MediaMigrationTenantStatus?> 결과입니다.WeddingPlatform.Services.IMediaMigrationService를 구현.
JsonMediaMigrationService.cs 파일의 213 번째 라인에서 정의되었습니다.
다음을 참조함 : LoadAsync().

|
inlineprivate |
Is Running 조건을 확인합니다.
| slug | slug에 사용할 string 값입니다. |
true이고, 그렇지 않으면 false입니다.JsonMediaMigrationService.cs 파일의 698 번째 라인에서 정의되었습니다.
다음을 참조함 : _runningGate, _runningSlugs.
다음에 의해서 참조됨 : QueueTenantAsync().

|
inlineprivate |
Async 데이터를 불러옵니다.
| ct | 취소 요청을 감시하는 토큰입니다. |
Task<Dictionary<string, MediaMigrationTenantStatus>> 결과입니다.JsonMediaMigrationService.cs 파일의 576 번째 라인에서 정의되었습니다.
다음을 참조함 : _cache, _gate, _jsonOptions, StatusPath.
다음에 의해서 참조됨 : GetAllAsync(), GetTenantStatusAsync(), ProcessTenantAsync(), ProcessTenantSafeAsync(), QueueTenantAsync(), RetryTenantAsync().

|
inlinestaticprivate |
Mark File 작업을 수행합니다.
| fileStatus | file Status에 사용할 MediaMigrationFileStatus 값입니다. |
| state | state에 사용할 MediaMigrationState 값입니다. |
| message | 처리할 메시지입니다. |
JsonMediaMigrationService.cs 파일의 820 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ProcessTenantAsync().

|
inlinestaticprivate |
Normalize Format 작업을 수행합니다.
| outputFormat | output Format에 사용할 string? 값입니다. |
string 결과입니다.JsonMediaMigrationService.cs 파일의 943 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ProcessTenantAsync(), ResolveWritableOutputFormat().

|
inlineprivate |
Process Tenant Async 작업을 수행합니다.
| slug | slug에 사용할 string 값입니다. |
| ct | 취소 요청을 감시하는 토큰입니다. |
Task 결과입니다.| InvalidOperationException | 현재 객체 상태에서 Process Tenant Async 작업을 수행할 수 없는 경우 발생합니다. |
JsonMediaMigrationService.cs 파일의 410 번째 라인에서 정의되었습니다.
다음을 참조함 : _imageOptimization, _policyResolver, _tenants, BuildProgressMessage(), WeddingPlatform.Models.Completed, WeddingPlatform.Models.Failed, GetOrCreate(), LoadAsync(), MarkFile(), NormalizeFormat(), ResolveWritableOutputFormat(), SaveAsync(), WeddingPlatform.Models.Skipped.
다음에 의해서 참조됨 : ProcessTenantSafeAsync().


|
inlineprivate |
Process Tenant Safe Async 작업을 수행합니다.
| slug | slug에 사용할 string 값입니다. |
| ct | 취소 요청을 감시하는 토큰입니다. |
Task 결과입니다.JsonMediaMigrationService.cs 파일의 353 번째 라인에서 정의되었습니다.
다음을 참조함 : GetOrCreate(), LoadAsync(), ProcessTenantAsync(), SaveAsync().
다음에 의해서 참조됨 : StartBackground().


|
inline |
Queue Tenant Async 작업을 수행합니다.
| slug | slug에 사용할 string 값입니다. |
| ct | 취소 요청을 감시하는 토큰입니다. |
Task 결과입니다.WeddingPlatform.Services.IMediaMigrationService를 구현.
JsonMediaMigrationService.cs 파일의 251 번째 라인에서 정의되었습니다.
다음을 참조함 : IsRunning(), LoadAsync(), WeddingPlatform.Models.Pending, SaveAsync(), StartBackground().
다음에 의해서 참조됨 : RetryTenantAsync().


|
inlineprivate |
Resolve Writable Output Format 작업을 수행합니다.
| preferredFormat | preferred Format에 사용할 string? 값입니다. |
| sourceFileName | source File Name에 사용할 string? 값입니다. |
string 결과입니다.JsonMediaMigrationService.cs 파일의 859 번째 라인에서 정의되었습니다.
다음을 참조함 : _imageOptimization, NormalizeFormat().
다음에 의해서 참조됨 : ProcessTenantAsync().


|
inline |
Retry Tenant Async 작업을 수행합니다.
| slug | slug에 사용할 string 값입니다. |
| ct | 취소 요청을 감시하는 토큰입니다. |
Task 결과입니다.WeddingPlatform.Services.IMediaMigrationService를 구현.
JsonMediaMigrationService.cs 파일의 304 번째 라인에서 정의되었습니다.
다음을 참조함 : LoadAsync(), QueueTenantAsync(), SaveAsync().

|
inlineprivate |
Async 데이터를 저장합니다.
| status | status에 사용할 Dictionary<string, MediaMigrationTenantStatus> 값입니다. |
| ct | 취소 요청을 감시하는 토큰입니다. |
Task 결과입니다.JsonMediaMigrationService.cs 파일의 634 번째 라인에서 정의되었습니다.
다음을 참조함 : _cache, _gate, _jsonOptions, StatusPath.
다음에 의해서 참조됨 : ProcessTenantAsync(), ProcessTenantSafeAsync(), QueueTenantAsync(), RetryTenantAsync().

|
inlineprivate |
Start Background 작업을 수행합니다.
| slug | slug에 사용할 string 값입니다. |
JsonMediaMigrationService.cs 파일의 722 번째 라인에서 정의되었습니다.
다음을 참조함 : _runningGate, _runningSlugs, ProcessTenantSafeAsync().
다음에 의해서 참조됨 : QueueTenantAsync().


|
private |
cache 값을 보관합니다.
JsonMediaMigrationService.cs 파일의 98 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : LoadAsync(), SaveAsync().
|
private |
gate 값을 보관합니다.
JsonMediaMigrationService.cs 파일의 61 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : LoadAsync(), SaveAsync().
|
private |
image Optimization 값을 보관합니다.
JsonMediaMigrationService.cs 파일의 52 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : JsonMediaMigrationService(), ProcessTenantAsync(), ResolveWritableOutputFormat().
|
private |
json Options 값을 보관합니다.
JsonMediaMigrationService.cs 파일의 88 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : LoadAsync(), SaveAsync().
|
private |
options 값을 보관합니다.
JsonMediaMigrationService.cs 파일의 34 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : JsonMediaMigrationService().
|
private |
policy Resolver 값을 보관합니다.
JsonMediaMigrationService.cs 파일의 43 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : JsonMediaMigrationService(), ProcessTenantAsync().
|
private |
running Gate 값을 보관합니다.
JsonMediaMigrationService.cs 파일의 70 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : IsRunning(), StartBackground().
|
private |
running Slugs 값을 보관합니다.
JsonMediaMigrationService.cs 파일의 79 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : IsRunning(), StartBackground().
|
private |
tenants 값을 보관합니다.
JsonMediaMigrationService.cs 파일의 25 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : JsonMediaMigrationService(), ProcessTenantAsync().
|
getprivate |
Status Path 값을 가져옵니다.
JsonMediaMigrationService.cs 파일의 664 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : LoadAsync(), SaveAsync().