浅谈ASP.NET定期回收

开发 后端
本文介绍ASP.NET定期回收,而不是等到内存很低后才进行回收。在 IIS 5 中,我们通常使用 IIS 5 进程回收工具完成此操作。

我们在 IIS 5 服务器上安装了 ASP.NET,以通过 Web 提供 .NET 应用程序。这个应用程序运行得很好,只是 aspnet_wp.exe 进程消耗过多的内存,并会被 ASP.NET定期回收。我们喜欢回收功能,但是我们希望可以ASP.NET定期回收,而不是等到内存很低后才进行回收。在 IIS 5 中,我们通常使用 IIS 5 进程回收工具完成此操作。我们该如何让 ASP.NET 也和IIS 5 进程回收工具一样,按设定的时间执行回收操作。

IIS 5 进程回收工具 (英文)是一个非常有用的工具,有了它,您可以将 IIS 5 配置为根据 http gets 的数量、时间、内存消耗量以及其他参数重新启动。这个工具是在发布 ASP.NET 前开发的,因此它根本无法识别 aspnet_wp.exe 这个在 IIS 5 服务器上运行 ASP.NET 应用程序的文件。然而,当使用进程回收工具、IISRESET 以及任何其他方法回收 IIS 时,ASP.NET 也会重新启动;不过您还可以使用内置在 ASP.NET 中的配置元素,单独回收 ASP.NET.这可以通过 ASP.NET 的 web.config 文件中的进程配置设置来实现。默认情况下,web.config 位于 %systemroot%\\Microsoft.Net\\Framework\\v\\CONFIG 目录中。它是一个 XML 文件,您可以使用记事本等文本编辑器来打开和编辑它。打开这个文件并搜索“processmodel".这将定位到进程模式配置部分,其中包含以下具有注释内容的节:

注意,可以为上面的“timeout"变量设置一个单位为时、分、秒的值,这个值指定了 aspnet_wp.exe 进程的生存时间。当 ASP.NET 启动 aspnet_wp.exe(它在首次启动时调用一个需要 ASP.NET 的页面)时,该计时器开始计时。当 asnet_wp.exe 进程”活着"的时间等于超时值时,将会被回收。

尽管这不同于设定一个日期和时间来回收 ASP.NET 进程,但是这可以实现ASP.NET定期回收,并且可以保证应用程序的正常运行。另外,您可以控制这个回收操作的其他方面,例如在工作进程不再使用时关闭它(从而实现在非高峰期执行回收操作)。

ASP.net 1.1开发的Web应用程序,在升级到2.0或3.5以后,通过IIS7发布。

程序中认证方式采用Form认证,Web.Config文件中代码如下:

  1. <authentication mode="Forms"> 
  2. <forms loginUrl="Pages\SystemPage\Login\logon.aspx" name=
    ".ADUAUTH" protection="All"> 
  3. </forms> 
  4. </authentication> 


【遇到问题现象】

认证登录后,程序始终显示登录页 logon.aspx通过程序跟踪,发现 logon.aspx.cs中SetAuthCookie() 和 RedirectFromLoginPage()执行后均无效,无法改变Request.IsAuthenticated值,始终为false;

【解决方案】

运行IIS7 -> 该Web程序 -> 身份验证 -> Form身份验证 -> 编辑

【编辑推荐】

  1. ASP.NET的DataList和Repeater控件
  2. 浅析ASP.NET的IIS映射
  3. 概述ASP.NET状态类型
  4. 浅谈ASP.NET和Web服务器
  5. ASP.NET的EnableViewState属性
责任编辑:佚名 来源: 百度空间
相关推荐

2009-07-24 10:52:42

ASP.NET ISA

2009-07-20 15:30:11

ASP.NET应用

2009-07-22 16:11:43

ASP.NET AJA

2009-08-05 15:29:33

ASP.NET For

2009-08-10 10:19:47

ASP.NET组件设计

2009-07-20 17:12:17

ASP.NET访问数据

2009-07-23 15:44:39

ASP.NET MVC

2009-07-28 16:03:23

ASP.NET状态服务

2009-07-22 13:24:24

ASP.NET MVC

2009-07-23 15:24:37

ASP.NET Ima

2009-07-27 16:19:59

ASP.NET报表控件

2011-08-23 10:58:59

2009-07-21 14:16:02

ASP.NET管道优化

2009-07-28 17:34:28

ASP.NET XML

2011-06-08 11:36:16

ASP.NETrender

2009-07-29 09:38:06

Web开发ASP.NET

2009-07-21 15:02:19

ASP.NET应用程序

2009-07-28 18:00:11

ASP.NET程序

2009-08-19 10:54:42

ASP.NET数据访问

2009-07-22 17:21:27

ASP.NET 2.0
点赞
收藏

51CTO技术栈公众号