菜鸟爬坑记之Net 4.5 webapi,应用程序自动重启问题的排查与解决
·
1、事情的起因
项目是上位机项目,需要连接plc,故在Global.asax.cs中的Application_Start方法中,启动了一个线程监控plc是否联通,定时去ping plc的地址,当ping失败时会写进日志文件里记录。
当我调用普通接口时发现,接口进controller之前,断点会先进Application_Start放法中执行,正常情况下Application_Start里的内容,只在应用程序重启时执行一遍,现在这明显有问题......

2、排查过程
经过一番思考,感觉问题跟controller应该没问题,问题出在Global.asax.cs,然后逐步把Application_Start里我添加的内容注释掉,最后定位在ping上,然后进一步定位到写日志的方法上,把写日志的内容去掉,程序正常进controller,就.....很奇怪...
3、问题解决
起初看代码,感觉没问题,然后突然发现,日志文件是放在bin文件夹下了,as we know,bin文件夹是程序的运行文件夹,里面的文件改变,可能会引起程序自动重启,此时,感觉看到了希望....

随后,把日志文件改到上层目录下,再运行程序,果然,一切正常......就此,问题解决!
划重点:日志文件尽量【不要】放到程序的bin文件夹下,会导致问题!!!
ps:不要问我为啥日志最开始要放到bin文件夹下,因为程序是从别的大佬那里接手的,
小白哭泣~~
更多推荐




所有评论(0)