在ASP.NET中保留全局对象

时间:2013-06-26 19:09:47

标签: c# asp.net global-variables

就我而言,我在asp.net和C#中的几个用户之间共享了一个自定义论坛。我发现加载过程相当昂贵(为了不同的目的加入了几个表)。用户可以修改和添加新条目。但我不想为每个用户加载对象。 考虑到静态变量 - 特别是在可编辑时 - 不是线程安全的。我想知道这样做的最佳做法是什么。

1 个答案:

答案 0 :(得分:2)

答案很简短......这个问题答案很长。很长的答案可以在programmers.stackexchange.com找到,简短的答案就是我在这里给你的。

我建议(非常有条件地,因为我不知道查询的性质)您在数据库中为该复杂连接创建视图,原因是数据库将为您缓存视图并将更新它每次更新查询所触及的表时。这意味着您只需要对该视图进行查询,而不是现在正在执行的大规模复杂查询。请注意,这是一个短期解决方案,如果您的用户数量增加,这可能会导致您的数据库开始咀嚼CPU和RAM。