而不是Session变量,我可以在mvc中保存我的临时数据?

Neo*_*Neo 0 model-view-controller asp.net-mvc asp.net-mvc-3

我创建了一个mvc3应用程序.目前保存提交表单值,Session因为我需要在保存对数据库的更改之前做一些事情.

有没有其他好方法在mvc中存储临时数据ViewState

每次输入数据时以及单击"提交"按钮时,我都会将表单输入值保存到Session变量中.

每次提交后,我都会使用新添加的值填充我的会话变量,并将所有这些值显示在webgrid中.

一旦完成插入,最后点击更新按钮,该按钮从webgrid获取所有值并作为参数传递给一个存储过程.

Now here i want to achieve 2 things
1.need to save all inserted data as clicked on submit it gets refresh all time.
so need to save all previous data to.
2.currently using session variable which sets to webgrid to show data into webgrid and once done with insertion passing those values to stored procedure.
Run Code Online (Sandbox Code Playgroud)

因此需要了解任何其他保存数据的好方法.

Else can use javascript to do this all on client side.
Run Code Online (Sandbox Code Playgroud)

kin*_*ngo 5

您应该避免尝试使无状态Web看起来有状态的方案有两个原因.

首先,会话不会避免往返,它只是名义上不同于在数据库中存储值.是的,获取内存比从SQL获取更快,但这不能很好地扩展 - 按比例扩展(超过1台服务器),您必须添加组件和跃点,以减少增益并显着增加复杂性.

其次,会话值很可能无论如何都要进入数据库,所以为什么不首先从那里开始.

第三(是的,另一个),Session不一定比隐藏的表单字段更值得信任.

在13年中,我看到会话几乎专门用于错误的事情 - 开发人员为了方便而退步使用会话,后来后悔(开发人员更换它们并且必须维护他们的代码).

简而言之,使用数据库来存储此信息,并明智地了解如何获取和缓存它.