IRONSOFTWAREHOME

IronPDF'de Bellek Sızıntılarını Düzeltme

Curtis Chau
Curtis Chau
Updated: 22 Nisan 2026

IronPDF'de belirgin bir bellek sızıntısı yaşıyorsanız, bunu bilmek istiyoruz. En kıdemli mühendislerimiz, bir bellek sızıntısı tespit edildiğinde, hızlı bir şekilde üzerinde çalışarak bir acil düzeltme yapacaklar.

Bu şekilde support@ironsoftware.com adresine bellek sızıntısı raporu gönderilir:

1. En son IronPDF sürümüne güncelleyin

Henüz yapmadıysanız, lütfen en son IronPDF sürümüne güncelleyin.

2. Tüm IDisposable Nesnelerinizi İmha Ettiğinizden Emin Olun

Rapor edilen bellek sızıntılarının büyük çoğunluğu, .NET IDisposable arayüzünün yanlış kullanımından kaynaklanmaktadır.

Herhangi bir .NET sınıfının bir Dispose() yöntemi varsa - muhtemelen IDisposable ve geliştiricinin ne zaman kullanmayı bitirdiğini belirtmesini gerektirir.

C# dilinin "yönetilen" bir dil olduğu, bu nedenle belleği yönetme konusunda geliştiricilere hiçbir sorumluluk bırakmadığı yönünde yaygın bir yanlış anlama vardır. Aksine, bu inancın aksine, geliştiricilerin dispose etmediği birçok yaygın .NET nesnesi gerçekten vardır.

Her IDisposable sınıf örneğini manuel olarak imha etmemek, kodunuzda bir bellek sızıntısına neden olabilir.

  • System.IO.Stream - bu, PdfDocument.Stream özelliği tarafından döndürülür.
  • System.Drawing.Image / System.Drawing.Bitmap - bu, PdfDocument.PageToBitmap yöntemi tarafından döndürülür.
  • IronPdf.PdfDocument - kendisi de IDisposable olarak işaretlenmiştir, çünkü 2021 - 2024 sürümlerimizde yönetilmeyen nesneler içerebilir.

En yaygın çözüm

En iyi çözüm genellikle IDisposable nesnelerine atıfta bulunurken bir using ifadesi kullanmaktır.

using(var stream = myPdfDocument.Stream) {
    // Perform operations with the stream here
}

C# 8'de, {} kapatmaları olmadan kısayol bir versiyonu bile vardır.

using var stream = myPdfDocument.Stream;
// Perform operations with the stream here

3. Çöp Toplama

Visual Studio hata ayıklayıcı bellek profili, hiçbir sorun olmasa bile artış göstermeye devam edebilir. Yüksek RAM'li bir sistem kullanırken, .NET çalışma zamanı, sistem RAM'iniz neredeyse dolana kadar veya bir yoklama dosyası kullanarak çöp verilerin bellekte kalmasına izin vermenin daha verimli olduğuna karar verebilir.

.NET çöp toplayıcısına, uygulamanızın yaşam döngüsündeki güvenli bir noktada kullanılmayan nesneleri atmasını manuel olarak öğretmek mümkündür:

  • PDF'nin render edilmiyor olması
  • Bir IDisposable nesnesi açıktır

Bunu yapmanın bir yolu şudur:

System.GC.Collect(); // Invokes the garbage collector
System.GC.WaitForPendingFinalizers(); // Waits for the process to complete
System.GC.Collect(); // Optional: Runs additional collection to ensure all objects are cleared

Bundan sonra, bellek kullanımı grafiği normal, ancak sıfır olmayan bir seviyeye düşmelidir.

4. Hâlâ Bir Hafıza Sızıntısı Varsa - Bildirin

Bu, son derece yüksek öncelik olarak kabul edilecektir. Lütfen günlük dosyalarınızı nasıl bulacağınızı ve sorununuzu ilave bilgi talep edilmeyecek şekilde nasıl bildireceğinizi açıklayan bu kılavuzu okuyun.

Bu 3 dakikalık okuma, sizin sorununuzu %100 doğrulukla yeniden oluşturmamıza yardımcı olacak ve zamanınızı boşa harcamadığımızdan emin olacağız.

Mühendislik İsteği PDF

Teşekkür ederiz - Hiç kimse, biz de dahil olmak üzere, bellek sızıntılarından hoşlanmaz. "Düşük seviye" ya da sistem nesneleriyle, örneğin HTML işleme, Interop, Grafik ve Akışlar gibi çalışırken mümkün hale gelebilirler. Hadi onları düzeltelim!

IronPDF, kullanıcılarımızın hata raporları ve özellik isteklerini dinleyerek bugün olduğu hale geldi, bu yüzden desteğiniz için teşekkür ederiz.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

Başlamaya Hazır mısınız?

Nuget Downloads 20,756,830Sürüm:2026.7yeni yayınlandı

Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez
PDF için C# NuGet Kütüphanesi
NuGet ile yükleyin

Sürüm: 2026.7

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Çözüm Gezgini'nde Referanslar'a sağ tıklayın, NuGet Paketlerini Yönet
  2. Tarayıcıya tıklayın ve "IronPdf" arayın
  3. Paketi seçin ve yükleyin
C# PDF DLL
DLL İndir

Sürüm: 2026.7

veya Windows Yükleyiciyi şuradan buradan indirin.

  1. IronPDF'i, ~/Libs gibi bir yere, Solution dizininiz içinde indirin ve açın.
  2. Visual Studio Çözüm Gezgini'nde, Referanslar'a sağ tıklayın. Tarayıcı sekmesini seçin, "IronPdf.dll"

Lisanslar $999

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez