首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >InProc对StateServer

InProc对StateServer
EN

Stack Overflow用户
提问于 2013-01-03 12:31:49
回答 2查看 4.2K关注 0票数 4

最近,我们从使用InProcStateServer来存储会话信息。

我想知道,现在是否有可能更新网站上的配置文件,而不会丢失会话信息。当我们使用InProc和更新的资源文件(如语言文件)、web配置文件、global.asax或App_Code中的文件时,我们发现会话似乎重置并收到了以下错误:

“object引用未设置为对象的实例”

这会随着去StateServer而改变吗?在不丢失会话数据的情况下更新这些类型的文件安全吗?我已经在我们的测试系统上运行了几个测试,它看起来很好,但是我并不是百分之百的自信。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-03 12:42:17

您的查询的一个简单答案是,YES,

更多地说.

  • 使用状态服务器,会话被序列化并存储在单独的进程(aspnet_state.exe)中。
  • 状态服务器可以在另一台计算机上运行。
  • 会话是持久的,您不需要担心会话数据在应用程序重新启动期间丢失。
  • 当存储基本类型的数据(例如字符串、整数等)时,在一个测试环境中,它比InProc慢15%。
  • 如果要存储大量对象,序列化/反序列化的成本可能会影响性能。
  • 解决了InProc模式下的会话状态丢失问题。允许webfarm场将ASP.NET会话存储在中央服务器上。状态服务器上的单个故障点。

获得更多信息:

  • 将会话inproc模式转换为状态服务器的步骤
票数 6
EN

Stack Overflow用户

发布于 2013-01-03 12:37:01

是的,确实如此。一旦会话数据处于进程之外,重新启动工作进程是安全的。您可以通过登录到您的站点来测试它,做一些涉及会话更新的操作,并从任务管理器(或者仅仅是触摸w3wp.exe )中杀死相应的IIS进程(假设它是IIS 7+)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14139022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档