提前道歉,因为我确信这个话题之前毫无疑问被问过,但我找不到任何回答我的具体查询的帖子。
请记住,我是 MVC 的新手,这就是我必须要做的。我有一个使用 MVC 3 框架在 VS 2010 下开发的项目。我有一个搜索页面,其中包含 6 个字段和一个嵌套模型,它本身包含 3 个字段。
我可以成功地将所有这些数据发布回自身,并且数据作为模型成功传递并返回,因此这些字段保留了用户提供的数据。
在我继续在另一个视图上实际使用此搜索条件之前,我有个想法。我想在用户会话期间保留此搜索条件,甚至可能将搜索结果保留在内存中。
这背后的原因只是为了节省我的用户时间:
a) 无需继续重新输入他们的搜索条件,无论他们如何进入或离开搜索页面
b) 通过更快地呈现搜索结果来加快用户体验
后者不如第一个要求重要。
我已经做了一些谷歌搜索,并且确实浏览了这个网站上的类似主题。从我读到的使用会话(如果开发 PHP 站点,我通常会使用)是不可以的。从我读到的原因来看,为什么你不应该使用会话似乎是有效的,我很乐意接受它。
但是现在我被留在了一个地方,我在摸索自己的想法,想知道实现这个简单目标的最佳实践到底是什么,可以在项目后期应用于类似情况。
我还查看了 OutputCache 方法,但它并没有像我预期的那样运行。在测试中,我将超时设置为 30 秒。提交搜索后,我单击了指向我的搜索页面的链接以查看这些字段是否会自动填充,但它们没有。但是然后单击搜索按钮,将检索缓存中的值。我以为我正在取得进展,但是当我尝试提交新值时,缓存中的旧值又回来了,即我实际上无法在强制执行缓存的情况下更改我的搜索条件。所以我认为这是一种探索的途径。
最后一个选项似乎建议使用 cookie 作为最有可能的候选者,但无论对错,我都觉得这不是最好的解决方案。我原以为 MVC 3 设计模式会有一种更简单且推荐的持久值方法。我确定有,但我还没有发现它。
我已经开始使用 JQuery 并且再次提到了这一点,但我不确定这是否是正确的方向。
因此,总而言之,我的问题实际上归结为更广泛的社区认为在我的情况下持久化数据的最佳实践。效率、可扩展性和弹性至关重要,因为我将拥有庞大的全球用户群,最终将使用这个网络应用程序。
提前致谢!
皮特