在旧的旧项目中,我们有很多这样的代码:
var result = someService.AddRecord(data);
TempData["Success"] = result.Success;
TempData["Message"] = result.Message;
return RedirectToAction("Rakamakafo");
但是随后我们遇到了这样的情况,即请求在控制器中进行串行处理,这是由Session
对象的锁定性质引起的,并通过将Session
变为只读来解决了这一问题:
[SessionState(System.Web.SessionState.SessionStateBehavior.ReadOnly)]
除了TempData
对象(依赖于会话)停止工作之外,一切都很好。
如何在不将整个应用程序重写为AJAX的情况下以干净的方式解决此问题?
答案 0 :(得分:0)
使用Cookie完成。首先,我用BaseController
创建了ShowMessageAfterRedirect(bool success, string message)
并设置了两个cookie(message_success
和message_caption
),然后在显示部分视图的消息中,我从cookie中取回数据,删除它们。