【问题标题】:Global Variable and store it in Session全局变量并将其存储在 Session 中
【发布时间】:2012-10-10 12:33:53
【问题描述】:

在win应用程序中,我们可以声明一个以所有当前形式访问它的变量(如下代码)

我想在页面加载中填充一个数据集并将数据集保存在Session 中并稍后使用它

这种方式内存有问题吗?(意味着如果同时有 100 个用户访问站点,我应该在 Session 中保留 100 个数据集)

namespace Store
{
    DataSet ds; // Global DataSet
    public partial class frmLoading : Form
    {
    //...

【问题讨论】:

  • 小心asp.net中的全局变量。 asp.net 应用程序是为多个用户提供服务的单个应用程序,因此所有用户都会看到 same 值。在 winform 情况下,每个用户都有自己的应用实例和自己的值。

标签: asp.net


【解决方案1】:

您可以使用Cache class 来分享您的数据(Global Cache)

因此,使用 Cache,您可以只使用一个 DataSet。

链接:http://msdn.microsoft.com/fr-fr/library/system.web.caching.cache.aspx

会话专用于每个连接的用户

【讨论】:

  • 当您连接到应用程序时,您有保存数据的会话缓存,另一个用户无法访问此会话,因为它适合会话,但是使用缓存您可以访问另一个用户的数据,因为它是全局的缓存
  • 谢谢,但我的问题是,如果有 100 个用户访问我的网站,我将 100 个数据集和 1000 条记录保存到Session,内存有什么问题吗?
  • 是的,您的内存可能有问题,建议您安装内存分析器以预测您的内存,链接:memprofiler.com/?gclid=CP7owYP59bICFeTHtAodunsAkA
  • 如何保留数据集并在当前页面中使用它,以便在页面加载时填充数据集?
  • 你绑定了GridView控件,链接:msdn.microsoft.com/fr-fr/library/vstudio/fkx0cy6d.aspx
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-14
  • 1970-01-01
  • 1970-01-01
  • 2016-04-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多