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

乌斯曼

我大量使用Session来存储服务器上来自客户端的已发布请求的数据。在研究中,关于stackoverflow的各种答案都指向我,而不是在ASP.NET MVC中使用Session。主要原因是:应用程序池在生产服务器的生命周期内频繁回收,这也导致会话也回收。

因此,我正在考虑用反序列化的字符串“ ....”替换会话对象。我的整个担心是:包含此字符串(可以反序列化为Object)的单例对象一定不能损坏/回收或在应用程序池回收时重新初始化。

所以我的最后一个问题是:在应用程序池回收中会发生什么?仅会话循环?还是整个内存重新循环并重新初始化?

我的目标Web服务器:带有MVC的Microsoft ASP.NET

瑞安·曼(Ryan Mann)

当应用程序回收时,该站点正在运行的Windows进程w3wp.exe最终结束,并创建了一个新进程一个站点可能对一个应用程序池有多个工作进程。在这种情况下,它们全部结束并且旋转1,然后将根据需要创建新的工作进程。

发生这种情况时,网站代码存储在内存中的所有内容都会丢失。这包括处理中会话信息。

但是,.Net会话状态可以在两种模式下运行,即进程模式或数据库模式。您可以运行aspnet_regsql工具在sql服务器中创建一个数据库,用于存储会话信息。然后,您可以更改web.config以使会话在数据库中运行。您可以使用相同的会话api,它们在两种模式下均相同。但是,将其置于数据库模式会使它将所有内容持久化到数据库中,而不是存储在进程内存中。然后,当AppPool回收时,您什么也不会损失。

RegSql文档:https ://msdn.microsoft.com/library/ms229862(v = vs.100).aspx

设计良好的ASP.Net网站(无论是MVC,Web窗体,WebApi(1/2))等都应设计为能够从任何回收中完全恢复。网站回收不应破坏您的网站。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

asp.net mvc - 当应用程序发布到 IIS 时,控制器操作返回 404

来自分类Dev

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

来自分类Dev

试图了解ASP.NET MVC中应用程序池刷新和视图的预编译的更详细信息

来自分类Dev

当应用程序在收到 http 响应之前暂停/停止时会发生什么?

来自分类Dev

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

来自分类Dev

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

来自分类Dev

任何 .net 应用程序的 IIS 应用程序池崩溃 - PipelineModuleStepContainer 中的 NullReferenceException

来自分类Dev

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

来自分类Dev

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

来自分类Dev

在 IISIntegration 上运行 ASP.NET Core 应用程序时 Program.Main 会发生什么?

来自分类Dev

清理ASP.NET MVC应用程序中的输入

来自分类Dev

TestFlight应用程序到期时会发生什么?

来自分类Dev

当android优化应用程序时会发生什么?

来自分类Dev

Azure中的ASP.NET MVC应用程序以及MySQL应用程序内

来自分类Dev

应用程序在Cordova中退出时会发生什么情况?

来自分类Dev

当minSdkVersion在应用程序更新中更改时会发生什么?

来自分类Dev

CPU,内存使用情况,线程池使用情况-ASP NET核心身份未确认的邮件用户删除处理-在应用程序中还是在单独的应用程序中?

来自分类Dev

什么是应用程序池?

来自分类Dev

ASP.NET MVC应用程序的处理参数

来自分类Dev

自托管ASP.NET MVC应用程序

来自分类Dev

应用程序区域中的ASP.NET MVC WebAPI

来自分类Dev

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

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

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

  5. 5

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

  6. 6

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

  7. 7

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

  8. 8

    asp.net mvc - 当应用程序发布到 IIS 时,控制器操作返回 404

  9. 9

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

  10. 10

    试图了解ASP.NET MVC中应用程序池刷新和视图的预编译的更详细信息

  11. 11

    当应用程序在收到 http 响应之前暂停/停止时会发生什么?

  12. 12

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

  13. 13

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

  14. 14

    任何 .net 应用程序的 IIS 应用程序池崩溃 - PipelineModuleStepContainer 中的 NullReferenceException

  15. 15

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

  16. 16

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

  17. 17

    在 IISIntegration 上运行 ASP.NET Core 应用程序时 Program.Main 会发生什么?

  18. 18

    清理ASP.NET MVC应用程序中的输入

  19. 19

    TestFlight应用程序到期时会发生什么?

  20. 20

    当android优化应用程序时会发生什么?

  21. 21

    Azure中的ASP.NET MVC应用程序以及MySQL应用程序内

  22. 22

    应用程序在Cordova中退出时会发生什么情况?

  23. 23

    当minSdkVersion在应用程序更新中更改时会发生什么?

  24. 24

    CPU,内存使用情况,线程池使用情况-ASP NET核心身份未确认的邮件用户删除处理-在应用程序中还是在单独的应用程序中?

  25. 25

    什么是应用程序池?

  26. 26

    ASP.NET MVC应用程序的处理参数

  27. 27

    自托管ASP.NET MVC应用程序

  28. 28

    应用程序区域中的ASP.NET MVC WebAPI

  29. 29

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

热门标签

归档