Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用c#代码禁用IIS上的文件监视_C#_Asp.net_Iis - Fatal编程技术网

如何使用c#代码禁用IIS上的文件监视

如何使用c#代码禁用IIS上的文件监视,c#,asp.net,iis,C#,Asp.net,Iis,我发现下面给出的代码片段用于禁用IIS服务器上的文件监视(文件更改通知),但代码未按预期工作。下面的监视器对象正在获取空值。不确定是否需要其他代码或任何其他设置。有人能提出为什么会得到空值,或者有没有更好的方法在C#中实现这一点- 我在.Net 3.5 SP1上使用以下代码: var theRuntime = typeof(HttpRuntime).GetField("_theRuntime", BindingFlags.NonPublic | BindingFlags.Static).GetV

我发现下面给出的代码片段用于禁用IIS服务器上的文件监视(文件更改通知),但代码未按预期工作。下面的监视器对象正在获取空值。不确定是否需要其他代码或任何其他设置。有人能提出为什么会得到空值,或者有没有更好的方法在C#中实现这一点-


我在.Net 3.5 SP1上使用以下代码:

var theRuntime = typeof(HttpRuntime).GetField("_theRuntime", BindingFlags.NonPublic | BindingFlags.Static).GetValue(null);
var fcmField = typeof(HttpRuntime).GetField("_fcm", BindingFlags.NonPublic | BindingFlags.Instance);

var fcm = fcmField.GetValue(theRuntime);
fcmField.FieldType.GetMethod("Stop", BindingFlags.Instance | BindingFlags.NonPublic).Invoke(fcm, null);

代码编译得很好,但是我们无法在部署构建中验证这一点,因为还有一些其他问题阻碍我们这样做。然而,由于这是唯一的答案,我将接受这一点。非常感谢你的帮助。
var theRuntime = typeof(HttpRuntime).GetField("_theRuntime", BindingFlags.NonPublic | BindingFlags.Static).GetValue(null);
var fcmField = typeof(HttpRuntime).GetField("_fcm", BindingFlags.NonPublic | BindingFlags.Instance);

var fcm = fcmField.GetValue(theRuntime);
fcmField.FieldType.GetMethod("Stop", BindingFlags.Instance | BindingFlags.NonPublic).Invoke(fcm, null);