如果存储库中的文件更改,应用程序池将自动

时间:2009-09-04 16:19:12

标签: c# asp.net web-applications iis-7 application-pool

为什么在IIS 7.0或Cassini中的网站下创建新文件夹时应用程序会自动重启?

我们可以更改配置吗?有什么影响?

我看了this post,帖子没有回答我的问题

2 个答案:

答案 0 :(得分:2)

我找到了解决方案。

the link

将此代码放在global.asax的应用程序启动

PropertyInfo p = typeof(HttpRuntime).GetProperty("FileChangesMonitor", 
                BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static); 

            object o = p.GetValue(null, null); 

            FieldInfo f = o.GetType().GetField("_dirMonSubdirs", 
                BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.IgnoreCase); 

            object monitor = f.GetValue(o); 

            MethodInfo m = monitor.GetType().GetMethod("StopMonitoring", 
                BindingFlags.Instance | BindingFlags.NonPublic); 

            m.Invoke(monitor, new object[] { }); 

答案 1 :(得分:1)

我有完全相同的问题所以我决定不在我的网络应用程序的根目录上写文件/文件夹。 我注意到在我的开发计算机上,而不是在某些服务器上(W2K3)。还可以尝试将AspNetCompiler msbuild任务运行到您的站点,并且可更新为false。