导致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发生变化。

(0)

相关推荐

  • 如何建立ASP.NET站点

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

  • 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站点导航应用详解

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

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

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

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

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

  • 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中处理一个站点不同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 站点URLRewrite使用小记

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

  • 分享下页面关键字抓取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页面的运行超时时间详细到单个页面及站点

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

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

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

随机推荐