public override void Handle(object param) { this.mLogger.Debug("IN - {@Param}", param); var paramObj = (ServerMessageServiceParam)param; var paramHandler = paramObj.Data as HandlerParameter; // Guard if (string.IsNullOrEmpty(paramHandler.RegisterName)) { this.mLogger.Warn("保存先レジスタ名が未設定です。"); return; } var dao_content = new ContentDao(); var content = dao_content.LoadContent(paramHandler.ContentId); // 取得したURLをキャッシュに格納 var cacheEntryOptions = new MemoryCacheEntryOptions() .SetSlidingExpiration(TimeSpan.FromSeconds(30)); mMemoryCache.Set(paramHandler.RegisterName, content, cacheEntryOptions); var workflowParam = new ResInvalidateContentParameter() { ContentId = paramHandler.ContentId, RegisterName = paramHandler.RegisterName }; mIntentManager.AddIntent(ServiceType.Workflow, "ACT_RESINVALIDATE_CONTENT", workflowParam); mLogger.Debug("OUT"); }
public override void Handle(object param) { this.mLogger.Debug("IN - {@Param}", param); var paramObj = (ServerMessageServiceParam)param; var paramHandler = paramObj.Data as HandlerParameter; var dao_content = new ContentDao(); var content = dao_content.LoadContent(paramHandler.ContentId); if (content == null) { // Guard // TODO: 例外をスローする } // すべてのオペレーションを処理する // オペレーションを追加したい場合は、下記に実装してください。 foreach (var op in paramHandler.Operations) { switch (op.OperationName) { case "Read": this.mLogger.Debug("Readオペレーションを実行します"); dao_content.UpdateRead(paramHandler.ContentId); var workflowParam = new ResInvalidateContentParameter() { ContentId = paramHandler.ContentId, RegisterName = "" }; mIntentManager.AddIntent(ServiceType.Workflow, "ACT_RESINVALIDATE_CONTENT", workflowParam); break; default: this.mLogger.Warn($"不明なオペレーション({@op.OperationName})のため実行しませんでした。"); break; } } this.mLogger.Debug("OUT"); }