【问题标题】:Save user created variables in database with user session ID使用用户会话 ID 在数据库中保存用户创建的变量
【发布时间】:2012-04-19 14:51:31
【问题描述】:

我正在构建一个使用 Web 表单身份验证并允许用户登录并从 sql 数据库创建人员列表的应用程序。用户可以通过从多个下拉菜单中进行选择来创建列表。然后,后端的代码从选定的下拉列表中创建一个字符串,该字符串作为选择语句传递到 sql 数据源中。我需要为用户找到一种方法来保存创建的 sql 字符串变量,这样当他们再次登录时,他们可以查看他们保存的列表。我的想法是获取会话变量或用户 ID 并将其与变量一起插入到数据库中,但我无法找出最好的方法来做到这一点。提前致谢。

【问题讨论】:

  • 你的方法有什么问题?
  • 如果你创建一个变量,它显然必须有一个所有者。通过他的 ID 来识别一个变量的所有者并没有错。
  • 会话变量:否,在关闭和重新打开浏览器时为每个用户请求动态生成。用户ID是个好主意,问题出在哪里?不知道用户名?您可以在登录 Session 后保存它,并在需要时使用它。 (es. var userId = Session["UserId"];)
  • 我应该把这段代码放在哪里?谢谢
  • 您是否尝试将其存储为某种连接字符串?这种方法存在一些问题 - 您可能需要考虑为某些实体集合创建表,并且您可能需要(尽管我希望不需要)某种 EAV。

标签: c# asp.net sql session-variables


【解决方案1】:

我知道这是一篇较旧的帖子,但您似乎没有找到满意的答案。另外,我不能在讨论线程中做cmet,所以我必须以这种方式提交我的想法。

您是否考虑过将变量存储在 XML 中,并将 XML 保存到数据库中的列(例如 user_pref 表)?

当您的数据库对用户进行身份验证时,我假设您有一个存储过程执行部分操作。为什么不让存储的 proc 提取 XML 并将其传递给 Web 表单进行解析? XML 在 Web 界面中得到广泛支持,因此这可能是一个相当容易实现的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-04
    • 2013-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-01
    相关资源
    最近更新 更多