cache变量应该是存在wp进程里面,毕竟stateserver只负责存储session状态
上百兆?不算大 内存够就行
适当的利用cache会提高效率,这就是用空间换时间

解决方案 »

  1.   

    Cache里的数据是存在Aspnet_wp.exe进程中还是存在aspnet_state.exe进程中呢
    =================================================================
    应该是Aspnet_wp.exe如果我的cache里有很多数据.有可能会上百兆。将这些数据存储在cache里是否合理呢?
    =====================================================================
    相对与访问数据库性能上的损耗,还是访问内存服务器的压力小写,再说真正的Web服务器内存都是
    N个G以上
      

  2.   

    注意 用不到的数据要及时清理!不用始终存在Cache中
      

  3.   

    谢谢各位经过测试确实是存在ASPNET_WP.EXE进程中欢迎继续讨论
      

  4.   

    状态服务器模式
    StateServer 模式将会话状态存储在一个称为 ASP.NET 状态服务的进程中,该进程是独立于 ASP.NET 辅助进程或 IIS 应用程序池的单独进程。使用此模式可以确保在重新启动 Web 应用程序时保留会话状态,并使会话状态可用于网络场中的多个 Web 服务器。若要使用 StateServer 模式,必须首先确保 ASP.NET 状态服务运行在用于存储会话的服务器上。ASP.NET 状态服务在安装 ASP.NET 和 .NET Framework 时作为一个服务进行安装。ASP.NET 状态服务安装在以下位置:systemroot\Microsoft.NET\Framework\versionNumber\aspnet_state.exe 若要将某个 ASP.NET 应用程序配置为使用 StateServer 模式,请在该应用程序的 Web.config 文件中执行以下操作:将 sessionState 元素的 mode 属性设置为 StateServer。将 stateConnectionString 属性设置为 tcpip=serverName:42424。注意 
    在使用 StateServer 模式时,若要提高应用程序的安全性,建议您对配置文件的 sessionState 节进行加密,以保护 stateConnectionString 值。有关详细信息,请参见使用受保护的配置加密配置信息。
      

  5.   

    如果你只是想知道保存很多数据之后Cache所在的进程会不会崩溃,那么你可以存1万个10M的DataTable到Cache中。它不会崩溃。Cache本来就是保存那些在内存中不足时难以保存的数据的。有些人把Cache等同于Session,或者内存数组。这差别很大。Cache会自动“忘记”数据,所以它永远不会被数据撑坏。数据如果放在Session或者应用程序进程中,会霸占内存。而保存在Cache,则智能地在内存不足等条件下自动释放掉。
      

  6.   

    什么是 Cache?Cache 是 ASP.NET 中用于保持状态的基于服务器的方法。Cache 在功能上类似于 ASP 和 ASP.NET 中的 Application 对象: Application 允许跨应用程序范围保持任何对象。 
    放置在 Application 中的对象对所有用户可用。但可广泛用于整个应用程序的 Application 不是为保存用户专用信息设计的。 
    Cache 具有 Application 的所有这些功能,但它添加了新的智能级别用于管理瞬态数据: 可以使用基于文件的、基于关键字的或基于时间的依赖项对添加到缓存的对象进行配置。如果关联的文件或关键字更改,或者经过了一段指定的时间,则将从缓存中自动删除对象,下次需要该对象时将在缓存中放置更新的版本。 
    添加到缓存中的没有依赖项且使用频率不高的对象将自动过期。 
    当对象从缓存中删除时,将触发事件。您可以编写代码在该事件上运行并将对象的更新版本加载到 Cache 中。 
    如果使用原始关键字字符串添加对象的替代版本,则它将覆盖以前的版本。为防止发生覆盖,请将替代定义连接到关键字字符串使对象的每个替代版本都是唯一的。Cache 优于 Application 之处在于它不仅可以像 Application 那样存储所有用户都可以访问的信息,而且 Cache 还可以根据其依赖项中的更改对自身进行更新。此持久性方法的限制刚开始接触 Cache 的开发人员可能倾向于对持久性处处都使用 Cache,包括用 Cache 代替 Session。但是,Cache 并不能代替 Session 对象的功能。尝试通过将用户专用的数据连接到 Cache 关键字来模拟 Session 唯一性会导致 Cache 充满用户对象,与 Session 不同,这些对象不会在用户超时时间过后过期。结果,Cache 对 Web 服务器内存的要求比 Session 对象高得多。如果需要保持用户专用的数据,请继续使用 Session 对象。
      

  7.   

    Aspnet_wp.exe其实一般服务器的内存都是2G以上,所以存个几百m.,没什么问题但是需要注意不能存放老是更新的数据.
      

  8.   

    把Cache等同于Session来保存“状态数据”,是完全错误的概念。我们已经保存好基础数据了,已经有非常可靠的其他存储机制了,只是因为速度慢,随意才将这些数据再在Cache额外地缓存一下。多做一步缓存,经常可以提高处理速度。但是把缓存当作保存基础数据的数据库,是丧失数据保存的责任的。