导致Asp.Net站点重启10个原因小结分析

1. 回收应用程序池会导致站点重启,记录的原因是:

HostingEnvironment initiated shutdown HostingEnvironment caused shutdown

2. 修改应用程序池回收规则会导致重启,记录的重启原因:

HostingEnvironment initiated shutdown HostingEnvironment caused shutdown

3. 在IIS中修改站点的名字,不会导致重启

4. 修改站点根目录的配置文件web.config,在配置文件注释中添加几个空格会导致重启,记录的重启原因是:

CONFIG change HostingEnvironment initiated shutdown

但是修改子目录的web.config文件不一定会导致马上重启

5. 修改aspx,master文件不一定会导致重启;但是每修改一次都会导致一次重新编译,重新编译次数达到15次之后会导致站点重启,重启原因是:

Recompilation limit of 15 reached HostingEnvironment initiated shutdown

15次后重启这个数字可以在web.config中做配置,修改compilation的numRecompilesBeforeAppRestart属性值即可。

<compilation debug="false" numRecompilesBeforeAppRestart="15">

6. 删除bin目录下的pdb文件,会导致重启,记录的重启原因是:

Change Notification for critical directories.

在bin目录下新建一个空的文件夹,会导致站点重启,重启原因是:

Directory rename change notification for 'D:\projects\TestWebApp\TestWeb'.T estWeb dir change or directory rename

在bin目录下删除空文件夹,会导致站点重启,记录原因是:

Directory rename change notification for 'D:\projects\TestWebApp\TestWeb'.T estWeb dir change or directory rename

7. 修改Global.asax文件会导致站点重启,即使加几个空格也会重启,记录的重启原因是:

Change in GLOBAL.ASAX HostingEnvironment initiated shutdown

8. 对App_Code目录做修改会导致站点重启

在站点根目录下添加一个名字为App_Code的文件夹,会导致重启,记录的重启原因是:

Change Notification for critical directories. App_Code dir change or directory rename

删除App_Code文件夹会导致站点重启,记录的重启原因是:

File Change Notification Error in D:\projects\TestWebApp\TestWeb\app_code

Change Notification for critical directories.

App_Code dir change or directory rename

在App_Code文件夹下面新建或者删除一个cs文件,会导致站点重启,记录的原因是:

Change Notification for critical directories. App_Code dir change or directory rename

9. 对关键路径的修改都会导致站点重启,关键路径包括:

bin, App_Code, Web References,App_Browsers,App_GlobalResources,App_LocalResources

10. 另外杀毒软件对文件的扫描,有可能会导致asp.net进程误认为文件或者关键路径发生了变化,也会导致重启。

以上是我总结的导致Asp.net站点重启的10个原因。 总的来说有三个方面会导致站点重启:一方面是IIS配置发生变化;另一方面是asp.net相关文件配置文件,global文 件,aspx,ascx,master等类型的文件发生变法;第三个方面是关键路径bin,app_Code, Web References,App_Browsers,App_GlobalResources,App_LocalResources发生变化。

时间: 2011-08-15

asp.net Web站点风格切换的实现

Web站点风格切换的实现 引言 Web站点的风格切换是很常见.也很受大家欢迎的功能,比如大家熟知的博客园就提供了几十款风格模板供大家选择.在Asp.Net中,我们可以通过模板页master page和主题theme来实现网站的风格切换,但是.Net提供的默认设置不够强大和灵活.本文将向大家介绍如何在.Net提供的方法上进行改进和扩展,以提供更加强大的网站风格切换功能. 效果预览:http://www.tracefact.net/Demo/StyleSetting/default.aspx NOT

ASP.NET站点导航应用详解

导航实际上给访问者提供了一个地图类似的东西,让访问者更快地找到想要的东西. 在2.0中引入了一个很重要的概念,那就是站点地图siteMap这样一个XML文件,但是它后缀不是XML. 若要为站点创建一致的.容易管理的导航解决方案,可以使用asp.net站点导航.asp.net站点导航提供下列功能: 在了解了一些基本知识后,我们来做一个简单的导航的例子. 1.首先创建一个master html代码: <%@ Master Language="C#" AutoEventWireup=&

asp.net 站点URLRewrite使用小记

IIS收到请求-->ISAPI用于处理该请求-->BeginRequest开始-->EndRequest结束-->输出Response 中间有好多其它的流程就不标记了,这里只是列出URLRewrite所走的流程. 其实就是在BeginRequest事件中调用HttpContext的RewritePath方法,将该请求重新"定位"至一个目标URL就完成了. 在站点的Global.asax文件BeginRequest方法中添加代码: 复制代码 代码如下: publi

设置ASP.NET页面的运行超时时间详细到单个页面及站点

全局超时时间 服务器上如果有多个网站,希望统一设置一下超时时间,则需要设置 Machine.config 文件中的 ExecutionTimeout 属性值. Machine.config 文件位于 %SystemRoot%\Microsoft.NET\Framework\%VersionNumber%\CONFIG\ 目录中. 例如: 复制代码 代码如下: <httpRuntime executionTimeout="90" maxRequestLength="409

分享下页面关键字抓取www.icbase.com站点代码(带asp.net参数的)

复制代码 代码如下: <?php/** * HOST: www.icbase.com *///set_time_limit(0);// base functionfunction curl_get($url, $data = array(), $header = array(), $timeout = 15, $port = 80, $reffer = '', $proxy = ''){ $ch = curl_init(); if (!empty($data)) { $data = is_arr

asp.net 支持多语言站点的实现方法

1,在web站点中新建两个resources文件如下 Resources.resx中的文件信息 Resources.en-us.resx中的文件信息 Default.aspx的代码 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Culture="Aut

充分利用ASP.NET的三种缓存提高站点性能的注意方法

ASP.NET提供三种主要形式的缓存:页面级输出缓存.用户控件级输出缓存(或称为片段缓存)和缓存API. 尽早缓存:经常缓存  您应该在应用程序的每一层都实现缓存.向数据层.业务逻辑层.UI或输出层添加缓存支持.内存现在非常便宜-因此,通过以智能的方式在整个应用程序中实现缓存,可以获得很大的性能提高. 页面级输出缓存 最简单的缓存形式,只是在内存中保留为响应请求而发送的HTML的副本. 要实现页面输出缓存,只要将一条OutputCache指令添加到页面即可. <%@ OutputCache Du

ASP.NET 站点地图(sitemap)简明教程

还好,现在有这个机会,就权当自己的笔记吧!.以下讲一下最简单的创建形式. 站点地图,在每一个网站都必须用的一种技术.它是用来给用户导航作用的,以便告诉用户现在的位置.特别是对那些目录很深的网页,这种效果就犹为明显. 比如 天涯社区>天涯论坛>海口...这种形式. 1.新建一个站点地图(和新建aspx一样),tour.sitemap.下面是默认情况生成的xml文件. 复制代码 代码如下: <?xml version="1.0" encoding="u

Asp.net中处理一个站点不同Web应用共享Session的问题

1.问题描述: 系统S中有M1,M2,M3,M4四个模块,每个模块都是一个web应用.其中一个模块中设置Session后在其他模块中无法读取. 2.问题原因: 一个WEB应用相当于一个站点,应用与应用之间不可能共享Session. 3.解决方法: 1)  将四个web应用包含在同一个解决方案中 (注:调整.webinfo文件使解决方案能构正常运行) 2) 新建一个web应用Main,该web应用包含在解决方案S中,并直接存放在S目录下(即与虚拟目录S相对应). 3) 在Main应用中添加其他四个

如何建立ASP.NET站点

其实对于建立ASP.NET站点小编刚开始也是一头雾水,经过网上查找资料进行了整理,下面分享给大家. 1. 建立站点专用用户(新建两个站点专用用户,hebcai.com 隶属于Guests 组,hebcai.com _wpg 则隶属于IIS_WPG(ASP.NET 专用用户). (1)从"我的电脑"的右键菜单中选择"管理",打开"计算机管理",从"本地用户的组"中选择"用户",然后从右侧列表窗口中的右键菜单中

Asp.net给站点某目录增加Aspnet用户

using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControl

asp.net检查服务器上目录或文件是否存在的方法

本文实例讲述了asp.net检查服务器上目录或文件是否存在的方法.分享给大家供大家参考.具体方法分析如下: asp.net为我们提供了文件系统对象了,对于目录与文件判断是否存在我们有System.IO.File.Exists与System.IO.Directory.Exists即可,下面看两个应用实例. 判断文件是否存在: 复制代码 代码如下: using System.IO;  // 还需要命名空间,别忘了 if (System.IO.File.Exists("c:aaa.txt")

mysql增加新用户无法登陆解决方法

今天安装openstack folsom版本,安装完mysql,为各个服务增加对应的数据库和用户后,发现 无法使用新增的用户登陆mysql.我增加用户的方法如下: mysql -uroot -p$MYSQL_PASS <<EOF CREATE DATABASE nova; GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY '$MYSQL_PASS'; CREATE DATABASE glance; GRANT ALL PRIV

用QuickWAP组件结合ASP建设Wap站点第1/2页

用QuickWAP组件建设Wap站点教程-准备篇 首先我们要简单了解一下什么是QuickWAP,QuickWAP V1.0精简版是一款基于WAP1.2协议,利用VB6 开发的一个辅助ASP+WML语言编写WAP网页的组件. 其次我们要安装安装QuickWAP V1.0精简版 安装过程如下: 1.首先将QuickWAP.dll文件拷贝到系统system32目录下. Windows 2000/Server/Advanced Server操作系统为: 系统盘符:\WINNT\system32\ Win

ASP.NET环境下为网站增加IP过滤功能第1/2页

1. 需求分析 通过深入的交流和沟通,确认了该发电厂在企业网站用户访问控制方面的改进要求,大致情况如下: a) 网站基于Asp.Net2.0实现,不允许修改源程序 b) 厂内用户可直接访问整个站点的所有页面,员工不需要身份验证 c) 厂外用户只能访问指定的页面 显而易见,他们就是针对企业网站增加一项IP过滤功能,在厂外用户访问某些敏感页面时将其拒之门外.首先我们需要设置一个IP列表和一个Url列表,前者包含所有厂内IP,后者包含厂外用户可访问的全部Url,并且这两个列表都是可维护的:另外一个核心

asp.net无法获取iis目录的问题解决方法

如果你有一个需要偶尔发送邮件的Asp.Net的网站,可能会有代码长的和下面的很像: 复制代码 代码如下: //这是简写,并非实际项目代码public void Send(string from, string to, string subject, string body){    var msgMail = new MailMessage(from, to, subject, body);    msgMail.IsBodyHtml = true;    var server = new Sm

ASP.NET拒绝访问临时目录的解决方法

今天把博客程序部署到一台阿里云Windows主机上,通过浏览器访问时出现下面的错误: 复制代码 代码如下: 创建 BlogConfigurationSettings 的配置节处理程序时出错: 拒绝访问临时目录.以其运行 XmlSerializer 的身份"IIS APPPOOL\www.cnblogs.com"没有足够的权限访问临时目录.CodeDom 将使用此进程用于进行编译的用户帐户,因此如果用户对系统临时目录没有访问权限,则将无法编译.使用 Path.GetTempPath()

使用ASP控制指定站点解析脚本语言函数

============================================================= '       感谢您使用ASP001工作室开发的实用函数程序 '               HTTP://WWW.ASP001.NET '=============================================================      'ASP001工作室为您提供订制程序开发.企业互联网拓展服务 'QQ:1974229 'E-Mail

Asp.net简单实现给图片增加文字水印

经常看见MOP上有人贴那种动态的图片,就是把一个字符串作为参数传给一个动态网页,就会生成一个带有这个字符串的图片,这个叫做文字水印.像什么原来的熊猫系列,还有后来的大树和金条,都挺有意思.就用Asp.net写了一个非常简单的.全部的代码如下: 复制代码 代码如下: <%@ Import Namespace="System" %> <%@ Import Namespace="System.IO" %> <%@ Import Namespa