问题:Timer不能持续执行,如果长时间没有访问,就会被IIs自动回收。造成一些定时作业无法完成。

解决方式1:改用windows服务或是winform方式

解决方式2:在Application_End事件模拟加载网站页面,唤醒要被回收的资源

private const string DummyPageUrl = "http://localhost/Index.aspx";//可访问的页面
private const string DummyCacheItemKey = "Du";

// 注册一缓存条目在5分钟内到期,到期后触发的调事件
private void RegisterCacheEntry()
{
  if (null != HttpContext.Current.Cache[DummyCacheItemKey]) return;
  HttpContext.Current.Cache.Add(DummyCacheItemKey, "Test", null, DateTime.MaxValue,
  TimeSpan.FromMinutes(5), CacheItemPriority.NotRemovable,
  new CacheItemRemovedCallback(CacheItemRemovedCallback));
}
// 缓存项过期时程序模拟点击页面,阻止应用程序结束
public void CacheItemRemovedCallback(string key, object value, CacheItemRemovedReason reason)
{
  HitPage();
}
// 模拟点击网站网页
private void HitPage()
{
  System.Net.WebClient client = new System.Net.WebClient();
  client.DownloadData(DummyPageUrl);
}
protected void Application_BeginRequest(Object sender, EventArgs e)
{
  if (HttpContext.Current.Request.Url.ToString() == DummyPageUrl)
  {
    RegisterCacheEntry();
  }
}
protected void Application_Start(object sender, EventArgs e)
{
  RegisterCacheEntry();
}

IIS应用程序池自动回收问题的有效解决办法的更多相关文章

  1. iis 回收工作进程时出错的解决办法

    第一种解决方案: iis6系统默认的工作进程回收时间是29个小时有很多问题是在回收工作进程后出现很多问题如典型的500错误等经过我做服务器的一段时间的观察大家可以不用回收工作进程而是把应用程序池的最大 ...

  2. IIS应用程序池自动回收问题的解决办法

    windows 2012 的w3wp.exe(IIS Worker Process)进程不及时释放导致占用内存过高,以下解决方法: IIS可以设置定时自动回收,默认回收是1740分钟,也就是29小时. ...

  3. 关于IIS应用程序池的默认参数设置解决

    关于IIS应用程序池的默认参数设置,一般如下设置以满足IIS站点的需要. 1.关于IIS站点的启动模式,以及处理请求的管道模式设置. 2.回收机制设置, A)若IIS站点程序中存在单例模式访问DB数据 ...

  4. IIS应用程序池自动回收作业

    vb: appPoolName = WScript.Arguments() Set oWebAdmin = GetObject("winmgmts:root\WebAdministratio ...

  5. IIS服务器应用程序不可用的解决办法

    转载:http://www.cnblogs.com/caicainiao/archive/2010/11/29/1891085.html 这个问题见了好几次,在.net下 Microsoft visu ...

  6. WIN7 IIS ASP网站 打不开的解决办法

    WIN7 IIS ASP网站 打不开,通常是访问ACCESS数据库的报错了但在未对IIS和IE作设置的情况,是不能正确的显示错误的,从而也不能解决问题 为解决这个问题,我在网上找了很久,虽然最终解决了 ...

  7. IIS 无法安装URL重写模块的解决办法 UrlReWrite (.NET`SQL技术交流 群号206656202)

    下载和安装URL Rewrite IIS8默认是没有安装URL重写工具的,必须要自己下载安装. 如果IIS上默认有安装Web平台安装程序,我们可以使用平台自动安装URL Rewrite重写工具,打开I ...

  8. .NET core 项目部署在windows 服务器方法以及iis 访问报 500.19错误的解决办法

    将本地发布的服务本地运行没问题,发布上云windows 服务器就报 500.19 0x8007000d 是因为云服务器没有安装.net core相关的插件,比如.NET CORE sdk等,请按照该文 ...

  9. 1、IIS常见的的问难及解决方法

    配置IIS 7.5 出现的问题及解决办法: 1.问题:  CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Tempor ...

随机推荐

  1. 【转载自友盟消息推送iOS文档】在appDelegate中注册推送

    1.2   基本功能集成指南 提示 请先在友盟的消息推送管理后台中创建App,获得AppKey和AppSecret 导入SDK 下载 UMessage_Sdk_All_x.x.x.zip并解压缩 导入 ...

  2. [zz]npm安装错误解决方法

    错误: npm ERR! at Object.parse (native) npm ERR! at Packer.readRules (/usr/local/lib/node_modules/npm/ ...

  3. nginx上传模块nginx_upload_module使用

    1.安装模块 1 cd /data/software 2 wget http://www.grid.net.ru/nginx/download/nginx_upload_module-2.0.12.t ...

  4. 类加载器子系统——JVM之四

    一.类加载器基本概念 顾名思义,类加载器(class loader)用来加载 Java 类到 Java 虚拟机中.一般来说,Java 虚拟机使用 Java 类的方式如下:Java 源程序(.java ...

  5. 一个.java文件中可以有几个同级类

    1.在一个.java文件中可以有几个类.修饰符只可以public abstract final和无修饰符,不能是其他的private等修饰符.2.public修饰的只能有一个,且要与文件名相同 若没有 ...

  6. Ubuntu Mysql开通外网访问权限

    Ubuntu Mysql开通外网访问权限   1.编辑 my.cnf 文件: sudo vi /etc/mysql/my.cnf   2.将绑定地址行注释掉或者修改为指定 IP #bind-addre ...

  7. SQL Server 2008 对XML 数据类型操作

    原文 http://www.cnblogs.com/qinjian123/p/3240702.html 一.前言 从 SQL Server 2005 开始,就增加了 xml 字段类型,也就是说可以直接 ...

  8. iostat,mpstat,sar即时查看工具,sar累计查看工具

    iostat,mpstat,sar即时查看工具,sar累计查看工具

  9. [转]Geoserver实现WFS操作

    From:http://liushaobo2005.blog.163.com/blog/static/253056702011541462372/ wfs是OGC的标准规范,主要用于提供对矢量地理数据 ...

  10. JIRA官方:缺陷与事务跟踪

    快速跟踪软件缺陷 JIRA的网站页面使测试人员能够快速报告.管理.跟踪缺陷.使用键盘快捷键可以很容易地导航和修改问题.你还可以从IDE直接访问JIRA问题或者通过其它各种桌面客户端.手机客户端.浏览器 ...