首页 / 知识
关于c#:FileSystemWatcher Dispose调用挂起
2023-04-15 23:32:00

FileSystemWatcher Dispose call hangs我们刚刚开始遇到FileSystemWatcher的一个奇怪问题,其中对Dispose()的调用似乎挂起了。这段代码已经运行了一段时间,没有任何问题,但是我们刚刚升级到.NET3.5 SP1,因此我试图找出是否有人看到了此行为。以下是创建FileSystemWatcher的代码:
此方法的使用方式是更新TreeNode对象的状态图像(略微调整以删除特定于业务的信息):
是我们缺少的东西,还是.NET3.5 SP1的异常? 只是一个想法...这里是否有死锁问题? 您正在调用TreeView.Invoke,这是一个阻止调用。如果在单击任何按钮导致FileSystemWatcher.Dispose()调用时发生文件系统更改,则FileWatcherFileChanged方法将在后台线程上调用并调用TreeView.Invoke,它将阻塞直到表单线程可以处理Invoke请求为止。但是,您的表单线程将调用FileSystemWatcher.Dispose(),在处理所有未决的更改请求之前,它可能不会返回。 尝试将.Invoke更改为.BeginInvoke,看看是否有帮助。这可能会帮助您指出正确的方向。 当然,这也可能是.NET 3.5SP1问题。我只是根据您提供的代码在这里推测。 Scott,我们偶尔会看到control.invoke在.NET 2中出现问题。尝试切换到control.BeginInvoke,看看是否有帮助。 这样做将允许FileSystemWatcher线程立即返回。我怀疑您的问题在某种程度上是control.invoke被阻止,从而导致FileSystemWatcher在处置时冻结。 我们也遇到了这个问题。我们的应用程序在.Net 2.0上运行,但由VS 2008 SP1编译。我也安装了.NET 3.5 SP1。我也不知道为什么会发生这种情况,因为我们目前还没有其他线程在运行(这是在应用程序关闭期间),所以这看起来不像是一个死锁问题。 |
最新内容
相关内容
脚本linux上运行命令?
脚本linux上运行命令?,工具,代码,时间,密码,系统,环境,名字,位置,第三,下来,typescript脚本中怎样运行Linux命令?1、Script可用于记录当前用户linux挂起任务命令?
linux挂起任务命令?,系统,工作,信息,工具,地址,情况,暂停,数据,命令,进程,linux系统常用操作命令1、linux常用命令有pwd命令、cd命令、ls命令linux运行命令的脚本?
linux运行命令的脚本?,系统,服务,工具,脚本,意外,技术,分析,文件,方法,命令,sh文件在linux下如何运行Linux下面运行 SH文件步骤如下:查看目录shlinux进入挂起的命令?
linux进入挂起的命令?,系统,标准,设备,工作,暂停,命令,状态,信息,名称,邮箱,Linux系统如何实现用户注销/挂起1、shutdown是一个用来安全关闭或linux运行脚本时未找到命令?
linux运行脚本时未找到命令?,系统,信息,环境,软件,异常,官网,底部,电脑,平台,为什么说,linux无法找到脚本文件是什么意思?1、意思是:找不到执行linux运行脚本的命令?
linux运行脚本的命令?,系统,工具,代码,服务,脚本,状态,密码,环境,位置,暂停,linux下如何运行可执行文件1、file 文件名 可以查看文件类型:或者:linux外部命令调用?
linux外部命令调用?,系统,软件,标准,命令,盘中,管理,外部,进程,程序,内存,linux借用外部命令expr,实现计算器功能,利用管道,进程你得装一个callinux怎么调用命令行?
linux怎么调用命令行?,系统,地址,工具,工作,首页,终端,命令,密码,信息,情况,linux怎么打开命令行窗口1、在Linux系统中,打开命令行窗口需要使用linux命令行运行中断?
linux命令行运行中断?,连续,工作,系统,信息,程序,命令,设备,工具,网络,情况,Linux停止命令继续执行的方法是什么1、Linux 里有一些工具,可以脱vim运行linux命令?
vim运行linux命令?,系统,工作,信息,地址,命令,标准,时间,情况,工具,基础,linux系统中如何进入退出vim编辑器,方法及区别先按ESC,再输入冒号,在输linux下并行运行命令?
linux下并行运行命令?,系统,服务,工作,命令,环境,网络,暂停,文件,脚本,参数,linux多个用户同时执行命令会冲突吗不会冲突。解释:用户登录linux浏览器调用linux命令?
浏览器调用linux命令?,系统,信息,人工智能,软件,数据,首次,地址,代码,咨询,服务,求助大神,如何通过网页使用python向linux系统发送一些命令执