过去,我在使用 WebMatrix 维护会话状态以及在预期它们超时时处理它们时总是遇到很多问题(主要是因为我还在学习)。
必须始终记住用户输入,因为如果他们提交并发生自定义错误,我不希望他们必须将所有信息重新输入到表单中。
我想我(最终)找到了一种方法,可以在将来需要时正确维护和管理超时会话变量。
我意识到还有其他几种在网页之间传输数据的方法,相信我,如果适用,它们肯定会被首先使用。这个问题只与我觉得会话变量是我最好的选择有关。
我的问题是,我一直认为我已经弄清楚了,然后,只有在我设置了一半以上的编码之后,我才意识到它为什么不能很好地工作,然后找到一些草率(但有效)的解决方法这至少适用于该项目。
我将使用会话变量的项目使用公共数据库与 Web 界面组合。通常有 3 个主要页面:添加条目页面、编辑条目页面和查找条目页面。添加条目页面和查找条目页面最终发布并重定向到编辑条目页面。
在我开始我的下一个项目之前,我认为最好先问问我的方法是否至少朝着正确的方向前进,或者我是否仍然没有完全正确地接近这个方向。
这是我认为可能有效的方法(尽管它似乎有点太容易了):
- 每页使用局部变量。
- 在(IsPost)分支中,在发布/重定向之前根据局部变量分配会话变量。
- 在另一页上,刚被重定向后,使用会话变量分配新的静态局部变量。
换句话说:我将(在必要时)仅使用会话变量来传输将在完全可接受的时间内发生的数据(不允许会话状态有足够的时间超时),然后在需要,每页。
当被迫使用 WebMatrix 中的会话状态时,我是疯了还是这是处理此问题的最佳方法(或至少是一种体面可行的方法)?
对不起,如果这是一个愚蠢的问题 xD