.NET应用程序中的非托管资源占用了大量内存

时间:2013-04-03 09:33:44

标签: asp.net memory-leaks unmanaged red-gate-ants

我有一个执行简单MDX查询并生成输出的网站。此输出用于生成excel文件。我使用了ANTS分析器,并且知道非托管资源消耗了大量内存。检查下图:

Full size image

接下来我应该怎么做以检测此类内存泄漏。我想找出为什么这些东西在记忆中还活着。请建议我接下来该做什么。

enter image description here Full size image

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题。我没有检测内存泄漏的解决方案,但我会告诉你我选择的路径。我没有直接从页面调用MDX,而是将MDX查询移动到SQL存储过程,该过程返回一个我可以使用的结果集,就好像它是关系查询一样。

CREATE procedure [dbo].[executeMdxQuery]
as
Declare @sql nvarchar(max) = '  SELECT a.* FROM OpenQuery("MY_SERVER",'' 

with member [Measures].[Fiscal Calendar Level] as ' --- remaining MDX 

exec sp_executesql @sql 
GO

希望这有帮助