ASP.NET MVC应用程序自动重新启动

5

我们遇到了一个问题,我们的ASP.NET MVC应用程序因未知原因而重新启动。关闭的原因是

"Bin应用程序目录中的子目录已更改或重命名。"

涉及的文件是C:\ Users \ Jason \ AppData \ Local \ Temp \ Temporary ASP.NET Files \ root \ f691a68c \ a1593a1e \ hash \ hash.web。

值得注意的是,在Application_Start中启动NServiceBus客户端。如果我们注释掉该行,则我们的Web应用程序不会重新启动。问题是:1)hash.web是什么? 2)这个问题是否与NServiceBus有关?

2个回答

4

您的应用程序中是否使用了log4net?在我们的一些环境中,log4net将日志文件记录到与应用程序相同的目录(即bin目录),这会导致应用程序重新启动。将日志文件移出该目录可以解决此问题。


log4net 是原因。谢谢。 - Jason

3
你需要找出是什么正在触碰hash.web文件:一个可能的原因是病毒扫描器。使用Process Monitor监视该文件。
如果可能的话,排除自动病毒扫描以及Web内容目录中的临时ASP.NET文件目录和子目录。
在.NET 2.0中,可以通过HKLM\Software\Microsoft\ASP.NET\FCNMode键禁用FileChangesMonitoring,值为1将禁用文件更改监视。禁用此功能的缺点是,如果禁用它,则在更改web.config等时应用程序将不会重新启动。
有趣的是:ASP.NET文件更改通知,准确地监视哪些文件和目录?

是 Visual Studio 的 Web 服务器在访问该文件。 - Jason
1
这是发生在我的本地开发环境中的。我所指的 Visual Web Server 是 WebDev.WebServer.EXE。 - Jason
2
谢谢你的负评。我没意识到在Stackoverflow上只有与生产环境相关的问题才被允许(或者受到关注)。 - Jason
今天早上我注意到一个应用程序由于Application_Start()方法被多次调用而多次调用DI注册过程。结合Scott Guthrie关于记录Application_End()期间发生的情况的帖子,使用进程监视器是发现确实是病毒扫描器触及文件导致重置的关键。感谢您的回答! - Derek Greer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接