应用程序池回收如何影响ASP Net Session State?

乌默·海亚特(Umer Hayyat)

我知道何时回收应用程序池时会启动一个新的工作进程,但我对在此过程中如何处理过期和有效的会话感到困惑?哪些传递给新的工作进程线程,哪些被消除?它会做什么:

  • 用户A的会话已过期
  • 用户B的会话有效

回收后,当用户A和用户B请求时,他们的会话状态是什么?

斯图尔特

如果您只有一台Web服务器,并且已使用默认InProc模式实现SessionState持久性,则在应用程序池回收期间-在回收之后,当您在服务器代码中添加到会话词典中的所有数据都将丢失。您的代码接下来访问SessionState字典中的条目,它将返回null

如果您在负载均衡器上有多个Web服务器,并且会话状态错误地配置为InProc,并且用户返回到其他服务器(即,没有固定路由),则也会类似地发生

(存储在浏览器中的会话状态cookie可能仍然有效几分钟。)

允许会话状态“生存”一个应用程序池回收,服务器崩溃或跨服务器场的方法是保留存储在中的数据SessionState,以便当用户会话时,一个(或多个)服务器可以再次检索数据。返回。最简单的方法是使用一种现成的解决方案,即一个单独的StateServer过程,或者将状态存储在SqlServer数据库中。自定义持久性也是一种选择。

请注意,以“进程外”模式存储的任何数据(例如StateServerSqlServer需要可序列化),当您退出时,这可能是一项重大更改InProc

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过自托管ASP.NET应用程序回收应用程序池

来自分类Dev

ASP.NET中的应用程序池与应用程序域回收?

来自分类Dev

ASP.NET应用程序池回收会刷新静态对象上的缓存吗?

来自分类Dev

当应用程序池在ASP.NET MVC中回收时会发生什么?

来自分类Dev

Quartz.net定期回收IIS应用程序池

来自分类Dev

advapi32.dll的LogonUserA是否会影响ASP.net中的整个应用程序池?

来自分类Dev

advapi32.dll的LogonUserA是否会影响ASP.net中的整个应用程序池?

来自分类Dev

如何为部署到AWS Elastic Beanstalk的ASP.NET应用程序设置应用程序池标识

来自分类Dev

如何为部署到AWS Elastic Beanstalk的ASP.NET应用程序设置应用程序池标识

来自分类Dev

如何在asp.net部署脚本中包含应用程序池规范?

来自分类Dev

如何通过代码(C#,ASP.net)获取应用程序池名称

来自分类Dev

Quartz Scheduler在应用程序池回收(.Net)后不执行作业

来自分类Dev

Azure网站和ASP.NET,在回收应用程序池导致重新编译之前有多少闲置状态?

来自分类Dev

ASP.NET 2.0 Session terminating unexpectedly

来自分类Dev

ASP.NET Session_End参数?

来自分类Dev

Asp.net身份(MVC 5)跨子域登录和应用程序池身份

来自分类Dev

ASP.NET MVC 5:应用程序池,Windows身份验证和Active Directory

来自分类Dev

使用IUSR而不是应用程序池标识的ASP.NET Web服务

来自分类Dev

此Asp.Net WebAPI控制器方法是否正确换出应用程序池?

来自分类Dev

为什么在ASP .Net MVC应用程序中使用SignalR 2.x库使HTTPContext.Current.Session为null?

来自分类Dev

如何使用Session变量ASP.NET C#

来自分类Dev

如何在Javascript中读取Session ASP.net的对象?

来自分类Dev

如果没有应用程序回收,在ASP.NET中使用后台工作程序有好处吗?

来自分类Dev

如何强制ASP.NET应用程序使用HTTPS?

来自分类Dev

如何部署ASP.NET MVC 4应用程序?

来自分类Dev

如何部署ASP.net Web应用程序

来自分类Dev

如何禁用ASP.NET应用程序的某些API

来自分类Dev

ASP.NET Core应用程序如何构建?

来自分类Dev

Azure DevOps - 如何发布 ASP.NET 应用程序

Related 相关文章

  1. 1

    通过自托管ASP.NET应用程序回收应用程序池

  2. 2

    ASP.NET中的应用程序池与应用程序域回收?

  3. 3

    ASP.NET应用程序池回收会刷新静态对象上的缓存吗?

  4. 4

    当应用程序池在ASP.NET MVC中回收时会发生什么?

  5. 5

    Quartz.net定期回收IIS应用程序池

  6. 6

    advapi32.dll的LogonUserA是否会影响ASP.net中的整个应用程序池?

  7. 7

    advapi32.dll的LogonUserA是否会影响ASP.net中的整个应用程序池?

  8. 8

    如何为部署到AWS Elastic Beanstalk的ASP.NET应用程序设置应用程序池标识

  9. 9

    如何为部署到AWS Elastic Beanstalk的ASP.NET应用程序设置应用程序池标识

  10. 10

    如何在asp.net部署脚本中包含应用程序池规范?

  11. 11

    如何通过代码(C#,ASP.net)获取应用程序池名称

  12. 12

    Quartz Scheduler在应用程序池回收(.Net)后不执行作业

  13. 13

    Azure网站和ASP.NET,在回收应用程序池导致重新编译之前有多少闲置状态?

  14. 14

    ASP.NET 2.0 Session terminating unexpectedly

  15. 15

    ASP.NET Session_End参数?

  16. 16

    Asp.net身份(MVC 5)跨子域登录和应用程序池身份

  17. 17

    ASP.NET MVC 5:应用程序池,Windows身份验证和Active Directory

  18. 18

    使用IUSR而不是应用程序池标识的ASP.NET Web服务

  19. 19

    此Asp.Net WebAPI控制器方法是否正确换出应用程序池?

  20. 20

    为什么在ASP .Net MVC应用程序中使用SignalR 2.x库使HTTPContext.Current.Session为null?

  21. 21

    如何使用Session变量ASP.NET C#

  22. 22

    如何在Javascript中读取Session ASP.net的对象?

  23. 23

    如果没有应用程序回收,在ASP.NET中使用后台工作程序有好处吗?

  24. 24

    如何强制ASP.NET应用程序使用HTTPS?

  25. 25

    如何部署ASP.NET MVC 4应用程序?

  26. 26

    如何部署ASP.net Web应用程序

  27. 27

    如何禁用ASP.NET应用程序的某些API

  28. 28

    ASP.NET Core应用程序如何构建?

  29. 29

    Azure DevOps - 如何发布 ASP.NET 应用程序

热门标签

归档