C#进阶-IIS应用程序池崩溃的解决方案

IIS是微软开发的Web服务器软件,被广泛用于Windows平台上的网站托管。在使用IIS过程中,可能会遇到应用程序池崩溃的问题,原因可能有很多,包括代码错误、资源不足、进程冲突等。本文将为大家介绍IIS应用程序池崩溃的问题分析和解决方案。如果您在IIS的Events日志下观察到以下任一事件,那么本文适合您。

遇到这个问题是我在升级项目版本的时候,升级后的版本网页功能虽然可以正常使用,但每隔几分钟程序池就会忽然崩溃,导致访问503报错,我登陆IIS管理器查看,该应用挂载的应用池状态自动变为了Stopped。

iis 000 1024x486 - IIS应用程序池崩溃的解决方案

一、确认程序池崩溃原因

a) 满足下面两个特征的IIS程序池崩溃是本文可以解决的,其崩溃原因是应用程序内部反复报错,一般是短时间超过五次,导致IIS自动关闭程序池。
b) 如果不满足这两个条件,那就不是程序报错导致的,后面的内容也就不用看了。

1、应用池崩溃后,网页访问提示503。

2、查看IIS的Events里有无错误。

通常报错为:

A process serving application pool ‘Classic .NET AppPool’ suffered a fatal communication error with the Windows Process Activation Service. The process id was ‘3328’. The data field contains the error number.

我在Server Manager>IIS>Events下查看,这里是有报错的。

iis 001 1024x671 - IIS应用程序池崩溃的解决方案

二、查找问题来源并修复

1、下载 DebugDiag 插件

这里我们下载一个插件 Debug Diagnostic Tool (点击此处跳转下载页面),通过这个插件,我们可以在IIS的错误事件发生时捕获更加详细,应用级别的日志。

iis 002 1024x611 - IIS应用程序池崩溃的解决方案

点击download下载,选择32还是64位,下载msi镜像,下载成功之后安装。

iis 003 - IIS应用程序池崩溃的解决方案

2、配置 DebugDiag 的断点信息

安装成功之后我们打开安装好的 DebugDiag 2 Analysis 程序,按照下面步骤添加断点。

选择“crash (崩溃)”规则。

iis 004 - IIS应用程序池崩溃的解决方案

选择“A specific IIS web application pool (特定 IIS Web 应用程序池)”

iis 005 - IIS应用程序池崩溃的解决方案

选择崩溃的特定应用程序池。

iis 006 - IIS应用程序池崩溃的解决方案

选择“Breakpoint (断点)”

iis 006 - IIS应用程序池崩溃的解决方案

点击“添加断点”

iis 008 - IIS应用程序池崩溃的解决方案

单击 Breakpoint 下的“Ntdll!ZwTerminateProcess”,将其选为 Breakpoint Expression。将 Action Type 更改为“Full userdump”并将 Action Limit 设置为 10,然后单击 OK。

iis 009 - IIS应用程序池崩溃的解决方案

点击保存并关闭。
点击下一步以激活断点。

点击“Next”,配置日志路径

iis 010 - IIS应用程序池崩溃的解决方案

单击“Finish”以激活规则。

您现在会看到崩溃规则处于活动状态并且“Userdump Count”为0。一旦问题发生,转储计数就会增加,并会生成相应的转储文件。

3、复现崩溃场景,查看问题日志

我们复现了出现问题的场景,IIS应用池再次崩溃,网页503无法访问,DebugDiag Tool的“Userdump Count”变为了10,表示程序池崩溃前程序已经出错了10次。

iis 012 1024x698 - IIS应用程序池崩溃的解决方案

我们根据刚刚配置的日志路径,找到对应这个问题应用池的日志文件。

iis 013 - IIS应用程序池崩溃的解决方案

打开日志文件,我们看到了应用运行中的种种报错,找到反复高频报错的点,然后修复即可。

iis 014 1024x756 - IIS应用程序池崩溃的解决方案

我这里有两个异常,一个是Ibatis映射的对象属性没有对上,导致的工厂加载时报错。另一个是空指针异常,因为有个全局变量在全局线程里反复调用,但配置文件里忘记配置了。两个都是因为粗心导致的乌龙问题 = =。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/281856.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

(2023)PanGu-Draw:通过时间解耦训练和可重用的 Coop-Diffusion 推进资源高效的文本到图像合成

PanGu-Draw: Advancing Resource-Efficient Text-to-Image Synthesis with Time-Decoupled Training and Reusable Coop-Diffusion 公众:EDPJ(添加 VX:CV_EDPJ 或直接进 Q 交流群:922230617 获取资料) 目录 0. 摘要…

力扣精选题

题目: 写出最大数 回答: let count function(a,b){ let num1 a.toString() let num2 b.toString() return (num2num1)-(num1num2) } let last arr.sort(count) let arr [18,20,33,4,5] let num last.join() console.log(last,last) 最终得出最大数字符串: …

Python魔法方法之__getattr__和getattribute

在Python中有这两个魔法方法容易让人混淆:__getattr__和getattribute。通常我们会定义__getattr__而从来不会定义getattribute,下面我们来看看这两个的区别。 __getattr__魔法方法 class MyClass:def __init__(self, x):self.x xdef __getattr__(self, …

技术博客官网也是一个不错的学习平台(第411篇)

技术博客官网也是一个不错的学习平台(第411篇) 今天的主题是OSPF 大纲 技术成就梦想51CTO-中国知名的数字化人才学习平台和技术社区 OSPF 概念型问题_wx655f0abb3511b的技术博客_51CTO博客 OSPF协议介绍及配置 - airoot - 博客园 (cnblogs.com) 一、OSPF概述 回顾一下距离矢…

python+vue高校体育器材管理信息系统5us4g

优秀的高校体育馆场地预订系统能够更有效管理体育馆场地预订业务规范,帮助管理者更加有效管理场地的使用,有效提高场地使用效率,可以帮助提高克服人工管理带来的错误等不利因素,所以一个优秀的高校体育馆场地预订系统能够带来很大…

通信原理课设(gec6818) 008:LED+蜂鸣器+串口+MQ01+GY39+RFID

目录 1、LED和蜂鸣器 a. 安装驱动 b. 代码 2、串口 3、MQ01烟雾传感器 4、GY39 1、LED和蜂鸣器 a. 安装驱动 在开发板上要使用led和蜂鸣器需要安装对应的驱动 链接:https://pan.baidu.com/s/15I1kGKhT1kENqplu5Dmg5Q?pwdlebe 提取码:lebe 将上…

【并行计算】GPU,CUDA

一、CUDA层次结构 1.kernel核函数 一个CUDA程序是一个kernel核函数被GPU的多个计算单元并行执行的过程&#xff0c;CUDA给了如下抽象 dim3 threadsPerBlock(4, 3, 1); dim3 numBlocks(3, 2, 1); matrixAdd<<<numBlocks, threadsPerBlock>>>(A, B, C); 2.G…

git(安装,常用命令,分支操作,gitee,IDEA集成git,IDEA集成gitee,IDEA集成github,远程仓库操作)

文章目录 1. Git概述1.1 何为版本控制1.2 为什么需要版本控制1.3 版本控制工具1.4 Git简史1.5 Git工作机制1.6 Git和代码托管中心 2. Git安装3. Git常用命令3.1 设置用户签名3.1.1 说明3.1.2 语法3.1.3 案例实操 3.2 初始化本地库3.2.1 基本语法3.2.2 案例实操3.2.3 结果查看 3…

Innosetup 调用c# dll 和 c# dll的函数导出

目标需求&#xff0c;基于现在安装包脚本。需要在用户安装和卸载成功时。进行数据记录,所以需要调用c#dll 主要涉及到的知识点 需要理解脚本的文件使用机制脚本的文件dll加载&#xff0c;和dll的调用c# dll的制作&#xff0c;和工具的使用 下面具体介绍 脚本的文件dll加载&…

详解Vue3中的鼠标事件mousedown、mouseup和contextmenu

本文主要介绍Vue3中的常见鼠标事件mousedown、mouseup和contextmenu。 目录 一、mousedown——鼠标按下事件二、mouseup——鼠标弹起事件三、contextmenu——页面菜单 下面是Vue 3中常用的鼠标事件mousedown、mouseup和contextmenu的详解。 一、mousedown——鼠标按下事件 mo…

CloneNotSupportedException的解决方案 + Object的clone方法分析

CloneNotSupportedException的解决方案 引入问题&#xff1a; 在一次测试clone方法时&#xff0c;D类Override了Object类的clone方法 public class D {private Integer A1;private Integer A2;public D() {}public D(Integer a1, Integer a2 {A1 a1;A2 a2;}Overrideprotec…

PAT 乙级 1042 字符统计

请编写程序&#xff0c;找出一段给定文字中出现最频繁的那个英文字母。 输入格式&#xff1a; 输入在一行中给出一个长度不超过 1000 的字符串。字符串由 ASCII 码表中任意可见字符及空格组成&#xff0c;至少包含 1 个英文字母&#xff0c;以回车结束&#xff08;回车不算在内…

软件测试/测试开发丨Python 内置库 sys 学习笔记分享

sys 概述 是 Python 自带的内置模块是与 Python 解释器交互的桥梁 sys 使用 常用属性常用方法导入 sys 模块 # 导入sys模块 import sys# 查看sys模块帮助文档 help(sys)# 查看sys模块的属性和方法 print(dir(sys))sys 常用属性 sys.version&#xff1a;返回 Python 解释器…

Linux基础知识学习2

tree命令的使用 可以看到dir2目录下的这些文件&#xff0c;要想显示dir2的具体结构&#xff0c;可用tree命令 mv命令 它可以实现两个功能 1.将文件移动到另一个目录中 2.对某一个文件进行重命名 1.将文件移动到另一个目录中 这里将dir1中的2.txt移动到他的子目录dir3中 执行…

虚拟化分类和实现原理

6、虚拟化分类 &#xff08;1&#xff09;完全虚拟化 直接将Hypervisor跑在0环内核态&#xff0c;客户机os跑在1环&#xff0c;一旦触发敏感指令&#xff0c;由0环的VMM进行捕获翻译&#xff0c;从而模 拟这些指令。而运行在1环的GuestOS永远都不知道自己是个虚拟机。是完全…

python统计分析——透视表

参考资料&#xff1a;用Python动手学统计学 pandas库的pivot_table函数相当于excel的透视表功能。此图为excel数据透视表字段设置窗口&#xff0c;下面将参照excel数据透视表相关设置图片学习pivot_table函数&#xff1a; 本次使用的数据集内容如下&#xff1a; import pandas…

python安装MongoDB与运算符优先级

python安装MongoDB MongoDB 是目前最流行的 NoSQL 数据库之一&#xff0c;使用的数据类型 BSON&#xff08;类似 JSON&#xff09;。 PyMongo Python 要连接 MongoDB 需要 MongoDB 驱动&#xff0c;这里我们使用 PyMongo 驱动来连接。 pip 安装 pip 是一个通用的 Python 包…

【STM32】STM32学习笔记-PWM驱动LED呼吸灯 舵机 直流电机(16)

00. 目录 文章目录 00. 目录01. 输出比较相关API1.1 TIM_OC1Init1.2 TIM_OCInitTypeDef结构体1.3 TIM_OCMode1.4 TIM_OutputState1.5 TIM_OutputNState1.6 TIM_OCPolarity1.7 TIM_OCNPolarity1.8 TIM_OCPolarity1.9 TIM_OCNPolarity 02. PWM实现呼吸灯接线图03. PWM实现呼吸灯示…

普中STM32-PZ6806L开发板(前序)

前言 突然从柜子看到七八年前买的一块普中开发板, 在诸多的例如野火、原子中当时为什么选择他, 现在来看应该还是性价比较高&#xff0c;班上集成了很多学习者的进阶模块了&#xff0c;当然&#xff0c;买完大程度就吃灰了&#xff0c;当我再次发现他的时候&#xff0c; 我看到…

独立站的营销策略:吸引顾客的秘密武器

一、独立站的重要性 独立站是指企业自主建立的电子商务网站&#xff0c;具有独立的域名和运营管理权。通过独立站&#xff0c;企业可以展示产品信息、提供在线服务、进行促销活动等&#xff0c;与顾客建立互动和信任关系。独立站的重要性在于它可以帮助企业建立品牌认知度、提…