【问题标题】:How to share variable between all instances of worker process asp.net如何在工作进程asp.net的所有实例之间共享变量
【发布时间】:2013-10-29 05:09:58
【问题描述】:

我不得不将预先构建的 asp 网站从单个工作进程环境移动到云服务器上的多个工作进程环境。 我有一个带有静态 arraylist 变量的类,它用于包含所有会话信息的最后 2 分钟以进行跟踪。管理员用于访问此数组列表以查看实时报告。但在将其转移到云基础设施时,这种分解结果不再正确。这取决于负载均衡器后面的哪个服务器正在为页面提供服务,因此每个应用程序池都有多个静态变量实例。我尝试迁移到 mysql,但我们需要定期清除数据,而且它也存在性能问题。在这里,arraylist 被大量处理以产生有用的数据,因此我需要一些内存中的东西。

请注意,之前使用不带锁的静态变量也是不利的,但这只会导致 1 或 2 条记录之间的差异,但速度非常快。

【问题讨论】:

  • 你用的是什么云平台?
  • 我不知道它是由 iis 7 上的 rackspace 托管的

标签: c# asp.net static singleton-methods


【解决方案1】:

您可以考虑通过基于 SQL 服务器的会话存储来支持您的会话。 或者,您可以使用应用程序缓存服务器来支持它。这样您就可以在多个 Web 服务器之间共享它。

【讨论】:

    猜你喜欢
    • 2020-07-17
    • 2019-05-15
    • 2013-09-26
    • 2019-02-21
    • 1970-01-01
    • 2012-04-09
    • 1970-01-01
    • 2016-12-14
    • 2020-12-05
    相关资源
    最近更新 更多