gpt4 book ai didi

c# - 这是在 WebMatrix 中设置和维护 session 变量的最佳方式吗?

转载 作者:太空宇宙 更新时间:2023-11-03 11:11:24 24 4
gpt4 key购买 nike

过去,我在使用 WebMatrix 维护 session 状态以及在预期它们超时时处理它们时总是遇到很多问题(主要是因为我仍在学习)。

必须始终记住用户输入,因为如果他们提交并发生自定义错误,我不希望他们必须将所有信息重新输入回表单。

我想我(终于)找到了一种方法,可以在将来需要时正确维护和管理超时 session 变量。

我知道还有其他几种在网页之间传输数据的方法,相信我,如果适用,肯定会首先使用它们。这个问题只适用于我觉得 session 变量是我的最佳选择的时候。

我的问题是,我一直认为我已经弄明白了,然后,只有在我设置了一半以上的编码之后,我才意识到为什么它不太管用,然后找到一些草率的(但有效的) ) 解决这个问题至少对那个项目有效。

我将使用 session 变量的项目使用公共(public)数据库和 Web 界面组合。通常有3个主要页面:添加入口页面、编辑入口页面和查找入口页面。添加入口页面和查找入口页面最终发布并重定向到编辑入口页面。

在我开始我的下一个项目之前,我认为明智的做法是询问我的方法是否至少瞄准了正确的方向,或者我是否仍然没有完全正确地接近这个方向。

以下是我认为可能有效的方法(尽管这似乎有点太简单了):

  1. 每页使用局部变量。
  2. 在 (IsPost) 分支中,在发布/重定向之前根据局部变量分配 session 变量。
  3. 在另一个页面上,刚被重定向后,使用 session 变量分配新的静态局部变量。

换句话说:我将(在必要时)仅使用 session 变量来传输将在完全可接受的时间内发生的数据(不允许 session 状态有足够的时间超时),然后仅引用需要时的局部变量,每页。

当被迫在 WebMatrix 中使用 session 状态时,我是疯了还是这是处理此问题的最佳方式(或至少是一种体面可行的方式)?

对不起,如果这是一个愚蠢的问题 xD

最佳答案

在我看来,您不应该使用 Session 变量来记住用户在表单中输入的内容。表单 - 添加或编辑 - 应该发布到自身以进行验证。这样,这些值在 Request.Form 集合中可用。如果出现验证错误,您可以轻松地重新填充表单。成功提交后,您插入或更新数据库,然后重定向到另一个页面以防止重复提交。

如果使用得当, session 变量真的很容易使用。我怀疑您遇到困难是因为您将它们用于错误的场景。

关于c# - 这是在 WebMatrix 中设置和维护 session 变量的最佳方式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13938436/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com