CalliEventHandlerDelegateProxy 内存泄漏
CalliEventHandlerDelegateProxy Memory Leak
我正在尝试查找我们应用程序中的内存泄漏。使用 DotProfiler,我可以看到在各种快照上 CalliEventHandlerDelegateProxy
计数不断增加并且似乎从未下降。
我正在努力寻找与此事件处理程序关联的内容或可能导致此事件的代码。通常什么情况下会导致泄漏?
它在加载 UI 控件时调用(UI 控件的 OnLoad 方法),以便可以管理回调。
您可能需要检查以下几点以专注于内存泄漏搜索:
- 多少 UI 控制您的代码生成
- 他们的 OnLoad 事件是否真的正确完成(或者有一些递归正在进行)
- 是否有从 OnLoad 活动中触发的任何异步操作,它们是否得到妥善管理
调用 CalliEventHandlerDelegateProxy 的堆栈跟踪示例,可以给出思路:
...
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Control.LoadRecursive()
...
我正在尝试查找我们应用程序中的内存泄漏。使用 DotProfiler,我可以看到在各种快照上 CalliEventHandlerDelegateProxy
计数不断增加并且似乎从未下降。
我正在努力寻找与此事件处理程序关联的内容或可能导致此事件的代码。通常什么情况下会导致泄漏?
它在加载 UI 控件时调用(UI 控件的 OnLoad 方法),以便可以管理回调。
您可能需要检查以下几点以专注于内存泄漏搜索:
- 多少 UI 控制您的代码生成
- 他们的 OnLoad 事件是否真的正确完成(或者有一些递归正在进行)
- 是否有从 OnLoad 活动中触发的任何异步操作,它们是否得到妥善管理
调用 CalliEventHandlerDelegateProxy 的堆栈跟踪示例,可以给出思路:
...
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Control.LoadRecursive()
...