1、打开系统地址页面报Service Unavailable错误:
此类错误一般表示IIS当前无法正常启动应用程序池,你需要打开IIS查看站点对应的应用程序池是否能够正常启动。如果启动后进程池立刻停止运行,你需要打开系统的事件管理器,查看错误信息,根据具体错误信息进行故障排查。
常见故障:
无法连接缓存服务,通常在事件管理器中的错误信息中包含Redis字样,无法连接缓存服务可能导致程序无法运行,请确保Redis被正确安装,且应用Appsetting.json配置的Redis连接正确。
无法启动人脸识别服务,通常在事件管理器中的错误信息包含tennis字样,无法正确启动人脸识别服务的情况下,你需要确定VC++安装正确,且服务器所使用的CPU支持AVX2、FMA指令集。
磁盘无可用空间,在系统盘或站点安装磁盘无可用空间时Windows都会出现崩溃情况,可能导致IIS无法启动站点。一般情况下建议关闭IIS的日志服务,否则可能引起磁盘空间不足。
进程池所用的账号权限不足,有些服务器受到监管要求或其他安全策略限制,默认的进程账号可能没有权限,你可以在进程池的高级设置中将进程模型的标识更换为有权限的账号。
2、打开系统地址页面报Internal Server Error错误:
此类错误表示当前系统未能正常识别.NET Core运行组件,你需要确定WIndows下运行时ASP.NET Core的安装是否已完成,对应的版本是否正确,具体版本以程序发布时的版本要求为准。在IIS环境下,你需要安装Windows下的运行时Hosting Bundle,不要安装其他无关版本。如果你是先安装的Hosting Bundle后配置的IIS,你需要重新安装或修复Hosting Bundle。
注意:.NET Core不能跨版本支持,即不存在8.0版本可兼容运行6.0版本的说法,你需要严格按照应用要求安装对应版本。
3、打开系统地址页面报错ASP.NET Core app fialed to start。
此类错误标签表示站点基础环境配置是正确的,但应用依赖组件无法正常加载,可参考Service Unavailable的错误处理,用事件查看器查看具体错误信息后对应处理。
4.数据库连接异常
如字面意思,你配置的数据库连接不上,请检查数据库连接字符串是否正确,且防火墙规则中没有对数据库及其使用的端口号进行拦截。
注意:Appsetting.json中的数据库连接字符串中如果需要使用反斜杠“\”,请使用双反斜杠"\\",json文件的规则中单个反斜杠表示转义。
操作时类似于这样的错误信息:
Execution Timeout Explred. The timeout period elapsed prior to completion of the operaion or the server is not responding
翻译:操作超时,在操作完成之前经过的超时期限或服务器没有响应。
此时需要关注的点是:
1.提交的数据是否过多,大量的数据操作会引发超时。例如:提交的单据需要生成条码,当数量超过1000个,则有概率会报类似错误。
2.检查数据库对应操作的表是否有触发器,检查触发器是否会引起锁表等异常操作,当原本操作加上触发器时可能会引起大量的数据查询,请优化触发器语句或禁止触发器动作。
3.检查数据库对应服务器是否性能太差,数据服务器性能太差会引起超时问题,可以升级硬盘、内存、CPU等硬件。特别是硬盘,有些大容量的机械硬盘读写速度性能堪忧。
报错之后怎么办?
稍等片刻,服务器虽然返回了超时错误,但不代表数据未执行,而是执行过程太长,页面超时了。过段时间再查看数据是否正常,过多久取决于数据大小和数据库性能。
如执行完成后数据异常,请将日志文件和事件错误信息一并保存到文本后进行反馈。
An error occurred while updating the entries. See the inner exception for details.
翻译:更新条目时出错。有关详细信息,请参阅内部异常。
内部异常需要服务器管理员登录后查看应用程序日志和操作系统系统事件才能定位具体原因,所以单纯地反馈这种错误信息完全没有任何参考意义。
需要您登录服务器,打开程序根目录,查看Logs文件夹下报错当天的系统日志,将具体错误信息反馈。如果没有找到日志文件,或者日志文件记录不清晰,则需要您打开系统的事件查看器,点击Windows日志、应用程序,找到报错时间对应的错误事件信息进行反馈。
此类问题一般的操作方法:
1.检查数据库文件所在磁盘是否已满。
2.检查数据库中要操作的表是否存在触发器,测试禁用触发器后是否继续报错。
3.核对系统版本,最新版本可能已经修复此问题,更新后检查问题是否还存在。
如上述方法不能解决,请将日志文件和事件错误信息一并保存到文本后进行反馈。