/// <summary> /// KAMONOHASHIのバージョン情報を取得するメソッド /// </summary> protected override void DoWork(object state, int doWorkCount) { LogInfo($"KAMONOHASHIのバージョン情報を取得します。(第 {doWorkCount} 回目)"); try { // 現在のバージョンを取得する string version = versionLogic.GetVersion(); VersionModel versionModel = new VersionModel(version); // バージョン確認するか否か確認 if (!noCheckVersion) { // 開発時は問い合わせない if (version != "develop") { // KAMONOHASHIのバージョン管理サービスに問い合わせる var currentVersion = versionService.GetKQIVersionAsync(version).Result; if (currentVersion.IsSuccess && currentVersion.Value != null) { versionModel.ReleaseDate = ToFormatedString(currentVersion.Value.ReleaseDate); versionModel.Support = currentVersion.Value.Support; } } // KAMONOHASHIの最新リリース番号を取得する var latestVersion = versionService.GetLatestReleaseAsync().Result; if (latestVersion.IsSuccess && latestVersion.Value != null) { versionModel.LatestVersion = latestVersion.Value.TagName; } } // インメモリキャッシュにバージョン情報を格納する memoryCache.Set("version", versionModel); } catch (Exception e) { // 通信エラーなどで例外をキャッチしたが ERROR ログを出力して処理を継続 LogError($"KAMONOHASHIのバージョン情報取得中に例外をキャッチしましたが処理を継続します。 例外メッセージ=\"{e.Message}\""); } }