public override async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) { LayoutModel = await LayoutModel.LoadOrNewAsync(S); try { await base.OnActionExecutionAsync(context, next); } finally { LayoutModel.UpdateMessages(); LayoutModel.Save(HttpContext.Session); } }