.NetCore项目在IIS中突然就“无法正常运作”了
前言
事情是这样的,正直愚人节2020/04/01当天,前端同事突然反馈,调试环境接口调用不了了,刚来上班还是通的(感觉是不是被愚了),然后给我接了个图:
开始搞事
Round 1.
一看图就开始自信的去找跨域配置那,忽略了圈起来的500报错(NO,NO,NO,不是这样,应该是以为500是紧跟下面的跨域策略引起的);
看了一遍配置,配置正确,没毛病,想着是不是调试环境有问题,然后本机尝试了一下,没问题,于是将本机最新代码发布到调试调试环境,哦豁,还是不行;
显然,第一回合惨败;
Round 2.
于是乎我尝试ping 了前端同事IP,没有ping通,怀疑网络问题,那是因为他的IP有点奇怪,电脑IP都是公司统一分配的,我入职几年了,见到过同事电脑的IP都是192.168.xxx.xxx,然而这个刚入职一周同事的IP是172开头, 没有ping通,初步估计是网络问题,但一想有可能是他防火墙限制我ping,不代表网络不通,于是让他ping我, 擦,通的; 然后我访问他本机上项目,我去能访问;
显然,第二回合惨败;
Round 3.
然后就去测试环境访问,一输入地址,擦,报了无情的500; (刚开始没去测环境,那是之前正常,本机也很正常,所以很自信的忽略了, 反面参考,有问题先从问题发生环境排查;)
查看了IIS日志和Windows日志,没有异常信息,请求都是Sucessfully,然后找度娘和必应,有的说是路径配置不对,或者参数问题,一想,茫茫API,这么多,怎么找,不太现实,果断开启日志:
果然,日志出来,很显然的错误, 找不到项目中swagger注释需要的xml文件,如下配置的文件:
一回想,加注释这个的确是最后加的,在配置swagger的时候用到这个文件了,本地能找到没问题,但发布的时候,此文件没发布到的对应文件夹中,最后将文件生成对应文件中,问题解决;
总结
排查问题要从根源走起,不知道错误原因,首先去找日志,IIS日志、Windows日志、 或者上文中提到的开启日志, 有日志就好分析错误原因; 所以不要像我”乱搞”一通;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架