gpt4 book ai didi

c# - 多用户环境中的静态变量与公共(public)变量

转载 作者:太空狗 更新时间:2023-10-30 00:03:13 24 4
gpt4 key购买 nike

我使用以下方法将全局变量保存在一个单独的类文件中,以便它们可以在几个后端类之间传递。问题是当系统在多用户环境中使用时它会失败。我不能选择“ session ”方法,因为管理员还没有准备好在 SharePoint 服务器上启用 session 状态。

static class Global
{
private static string id = string.Empty;
public static string id
{
get { return id; }
set { id = value; }
}
}

如果我从上面的代码中删除静态声明,它能在多用户场景中正常工作吗?如果不寻求服务器管理员的任何帮助,我还有哪些其他选择。

最佳答案

不要对每个用户或每个请求的事物使用staticstatic 在 Web 应用程序中很少见,但偶尔可能会用于保存整个系统配置的快照(最好是不可变的)。

那么:我们可以在哪里存储东西?

对于每个 session 的事情(这是线索), session 状态是显而易见的答案,但听起来这不是一个选项

除此之外,您基本上还有: http 请求。这意味着您可以访问表单、查询字符串和 cookie。 就是这样。您不想在 cookie 中存储太多内容:它会使每个请求都膨胀。而“viewstate”就是邪恶的。如果常规 session 状态不可行,您可以根据某些 cookie(适当保护)做一些自制的“ session ”实现,但坦率地说,我认为您可以做任何一个:

  • 如果您只需要一个id,请使用请求表单/查询字符串
  • 否则插入您的管理员启用 session 状态

关于c# - 多用户环境中的静态变量与公共(public)变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14863077/

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