微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有IDisposable的Blazor清除内存

如何解决带有IDisposable的Blazor清除内存

我有一个Blazor页面,该页面异步加载数千行。在Visual Studio中,我看到一旦加载此数据,我的Blazor应用程序就会使用多个内存。到目前为止没有问题。但是,更改页面时不会再次释放内存。

所以我实现了Idisposable,它取消了异步操作并将我的数据列表设置为null,但这似乎无法正常工作。更改页面后会调用dispose方法,但是内存消耗保持在1 GB。

有人知道我做错了吗?

这是我的代码

public List<ErloesKalkulatorServiceResult> Daten { get; set; } = new List<ErloesKalkulatorServiceResult>();

protected virtual void dispose(bool disposing)
{
    if (!disposedValue)
    {
        if (disposing)
        {
            Daten = null!;
            cancellationToken?.Cancel();
        }

        // Todo: free unmanaged resources (unmanaged objects) and override finalizer
        // Todo: set large fields to null
        disposedValue = true;
    }
}

 ~ErloesKalkulator()
 {
     // Do not change this code. Put cleanup code in 'dispose(bool disposing)' method
     dispose(disposing: false);
 }

public void dispose()
{
    // Do not change this code. Put cleanup code in 'dispose(bool disposing)' method
    dispose(disposing: true);
    GC.SuppressFinalize(this);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。