问题标签 [weakeventmanager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
38 浏览

c# - C# 对 FileSystemWatcher.Created 事件使用弱事件

我正在尝试制作一个程序来监视文件夹中的文件创建事件并对文件进行一些处理。我当前的实现使用:

但是,这似乎有内存泄漏。每次FileSystemWatcher_Created调用时,垃圾收集器在完成时不会处理它。我认为当原始对象仍然存在时,每个实例FileSystemWatcher_Created都不能被处理掉。FileSystemWatcher

在这种情况下,我认为 using 对我没有fileSystemWatcher.Created -= FileSystemWatcher_Created;帮助,因为我不想FileSystemWatcher_Created只运行一次。我想FileSystemWatcher_Created在每次文件创建事件发生时运行。我只希望垃圾收集器正确处理每个实例用完的内存。

我认为这意味着我想使用 aWeakEventHandler来处理事件对吗?在这种情况下我该怎么做?我正在使用.NET Core,但仍会感谢任何.NET Framework答案。

编辑添加:FileSystemWatcher_Created。我在检测到的文件上运行 PowerShell 脚本,然后在处理后移动它。

经过一些试验和错误后,通过使用匿名函数订阅事件,我得到的内存泄漏最少。

0 投票
0 回答
17 浏览

.net - .NET 框架引擎出现异常时如何处理?

由于未知原因,.NET 框架生成了一个内部异常,这使得任何调试过程都无法进行。即使我在 Visual Studio 下以调试模式运行程序,崩溃也是残酷的,没有任何可能看到调用堆栈。完整跟踪:

在这种情况下如何进行?