ASP.NET'te Eklentisiz Bir Belge Görüntüleyici Nasıl Gömülür
10.07.2026

ASP.NET'te Eklentisiz Bir Belge Görüntüleyici Nasıl Gömülür

ASP.NET Core, MVC veya WebForms projelerine Doconut App'in güvenli, sıfır eklenti belge görüntüleyicisini gömmeleri gereken .NET mühendisleri için adım adım bir rehber.

Herhangi bir kullanıcıdan bir şey kurmasını istemeden, bir ASP.NET Core, MVC veya WebForms uygulamasına eklentisiz bir belge görüntüleyici gömebilirsiniz.
Sözleşmeler, çizimler veya tasarım varlıkları sunan işletmeler, kurumsal güvenlik politikalarına saygı gösteren ve kullanıcıları eski tarayıcı eklentileri kurmaya zorlamayan bir görüntüleyiciye ihtiyaç duyar. Doconut tarayıcı tabanlı PDF, Office, CAD, e-posta ve görüntü iş akışları için bir .NET belge görüntüleyici SDK'sı sağlar. Bu bir barındırılan hizmet değildir; kendi uygulamanıza kurarsınız ve orada render eder. Bu gönderi, sürüm‑spesifik örnek koda güvenmeden entegrasyon kararlarını özetliyor.

İlk olarak bir açıklama, çünkü iki ürün birbirine karıştırılması kolay. Doconut.app ücretsiz web görüntüleyicidir — bir dosya, tarayıcı sekmesinde açılır, ardından silinir. Bu gömülecek bir şey değildir. Gömülen Doconut Viewer, SDK'dır ve aşağıdakilerin tamamı bununla ilgilidir.

Kontrollü bir ASP.NET arka ucuna bağlanmış gömülü belge görüntüleyici
Kontrollü bir ASP.NET arka ucuna bağlanmış gömülü belge görüntüleyici

1. .NET web uygulamaları için güvenlik ve eklentisiz renderleme neden önemlidir

Modern işletmeler her belgeyi potansiyel bir veri sızıntısı olarak görür. ActiveX, Flash veya yerel bir istemciye dayanan bir görüntüleyici gömdüğünüzde üç risk üstlenirsiniz:

Risk.NET uygulamanız üzerindeki etkisiDoconut App'in bunu nasıl ortadan kaldırdığı
Eklenti bağımlılığıKullanıcıların bir tarayıcı eklentisi kurması veya etkinleştirmesi gerekir, bu da destek taleplerine ve uyumluluk sorunlarına yol açar.Doconut tamamen HTML5/Canvas içinde çalışır, sıfır eklenti gerektirir.
Şifrelenmemiş aktarımDosyalar HTTP üzerinden iletilir veya düz metin olarak depolanır, GDPR, HIPAA veya iç politikaları ihlal eder.SDK uygulamanız içinde çalışır, bu yüzden taşıma ve depolama zaten uyguladığınız TLS ve şifreleme politikası altında kalır. Doconut yeni bir geçiş eklemez.
Kontrolsüz yaşam döngüsüDosyalar sunucuda kalabilir, ihlal yüzeyini artırır.Saklama süresi sizin belirlediğiniz şeydir, çünkü belgeler ortamınızdan hiç çıkmaz. Geçici render çıktısı, yapılandırdığınız yere yazılır ve sizin takviminize göre temizlenir.

Önemli mimari gerçek, SDK'nin kendi ortamınıza kurulu olması ve Doconut sunucularına hiçbir çağrı yapmamasıdır. Hiçbir şey bize yüklenmez, bu yüzden veri haritasına eklenebilecek üçüncü taraf işlemci yoktur ve kendi politikalarınızla çelişen bir satıcı saklama politikası da yoktur.

2. .NET projesini hazırlayın

Proje için seçilen Doconut sürümüyle eşleşen paket, dokümantasyon ve örnekleri kullanın. Resmi Doconut indirme sayfası güvenilir bir başlangıç noktasıdır.

Entegrasyondan önce hedef .NET çalışma zamanını doğrulayın, paket sürümünü kaydedin, lisans yapılandırmasını kaynak kontrolünün dışına tutun ve temsilci belgelerle başlayın. ASP.NET Core, MVC ve WebForms farklı uygulama yaşam döngülerine sahiptir, bu yüzden kurulumları aynı kabul edilmemelidir.

3. Güvenli bir yükleme uç noktası oluşturma – AES‑256, SSL ve otomatik silme

SDK, bir belgeyi fiziksel bir yoldan, bir akıştan, bir bayt dizisinden, bir veritabanından, bir URL'den, bir intranet konumundan veya S3, Azure Storage, Google Cloud ya da Dropbox gibi bir bulut sağlayıcısından okuyabilir. Asla okuması gereken şey, tarayıcı tarafından seçilen bir yol olmamalıdır. İstek ile belge arasında bir yetkilendirme kontrolü koyun, kaynak ne olursa olsun. Aşağıda ASP.NET Core içinde bu uç noktanın yaygın bir şekli verilmiştir; aynı fikirler MVC ve WebForms için de geçerlidir.

Sunucu‑tarafı iş akışı

  1. Yüklenen dosyayı kabul et – Standart IFormFile (veya WebForms'ta HttpPostedFile) kullanarak belgeyi istemciden alın.
  2. Dosyayı AES‑256 ile şifrele – Akışı kalıcı hale getirmeden önce, System.Security.Cryptography.Aes gibi kanıtlanmış bir kütüphane kullanarak şifreleyin. Şifrelenmiş bloğu güvenli bir konumda saklayın (ör. sunucu‑tarafı şifreleme etkin Azure Blob Storage veya SSE‑AES256 destekli bir S3 bucket).
  3. Kısa ömürlü imzalı bir URL oluştur – Birkaç dakika (ör. 5 dakika) geçerli olacak bir URL oluşturun. URL HTTPS olmalı ve Doconut'un doğrulayabileceği bir kriptografik token içermelidir. Çoğu bulut depolama sağlayıcısı bu ihtiyaca uygun bir “ön‑imzalı URL” özelliği sunar.
  4. İmzalı URL'yi istemciye döndür – URL'yi içeren bir JSON yanıtı gönderin. İstemci bu URL'yi Doconut görüntüleyicisine iletecek.
  5. Otomatik silmeyi zamanla – İmzalı URL süresi dolduktan sonra, bir arka plan işi (Hangfire, Azure Functions vb.) şifrelenmiş bloğu kaldırır ve dosyanın sunucuda kalmamasını garanti eder.

MVC / WebForms eşdeğerleri

  • MVC – Aynı mantığı normal bir denetleyici eylemi içinde yerleştir ve JsonResult döndür.
  • WebForms – Aynı adımları izleyen bir .ashx işleyicisi ya da sayfa yöntemi uygula: Request.Files[0] al, şifrele, ön‑imzalı URL oluştur ve JSON yanıtını yaz.

Tek fark yönlendirme sözdizimidir; güvenlik iş akışı aynı kalır.


4. Belgeyi kurulu SDK ile render et

Belge erişimini sunucuda tut ve bir dosya ya da akışı işlemeye başlamadan önce yetkilendirmeyi zorla. Tam render ve UI başlatma sırası sürüme özgüdür; doğrulanmamış bir global JavaScript API'sini kopyalamak yerine kurulu sürümle gelen resmi belgeleri takip et.

Bu, her .NET çeşidi için neden çalışır

  • ASP.NET Core Razor – Başlatma, yükleme formunu barındıran aynı görünümde bulunur, böylece ele alınacak tek bir sayfa vardır.
  • MVC – Aynı kod parçacığını eklemek için @section Scripts kullan; denetleyici, MVC'nin $.ajax'ının tüketebileceği JSON döndürür.
  • WebForms – Yükleme tamamlandıktan sonra scripti ClientScript.RegisterStartupScript ile kaydet, ardından aynı şekilde launchViewer çağır.

Renderleme sunucunuzda gerçekleşir ve bu, tarayıcının kaynak belge yerine renderlenmiş sayfalar alması anlamına gelir; bu yüzden AutoCAD ya da Photoshop olmayan bir makinede DWG ya da PSD açılabilir. Sunucuyu buna göre ölçeklendir — taranmış 300 sayfalık bir PDF gerçek bir iş yüküdür ve artık bu işi sizin katmanınız yapıyor.


5. Görüntüleyiciyi portalınıza uyacak şekilde özelleştirme

Kuruluşlar genellikle görüntüleyicinin, içinde bulunduğu ürünün bir parçası gibi görünmesini ister, başka birinin penceresi gibi değil. Görüntüleyicinin görünümü ve sunduğu kontrol seti yapılandırılabilir ve hangi seçeneklerin mevcut olduğu kurulu sürüme bağlıdır.

Bu seçenek adlarını blog gönderisinden değil, sürümünüzle gelen belgelerden alın. Görüntüleyici yapılandırma yüzeyleri sürümler arasında yeniden adlandırılan şeylerdir ve iki sürüm eski bir makaleden kopyalanan bir kod parçası lisans sorunu gibi görünen bir hataya yol açar.

Bu belgeleri açmadan önce vermeniz gereken karar, her rolün hangi kontrolleri görmesi gerektiğidir. Kullanıcının belgeyi yazdırıp yazdırmayacağı, indirmesi ya da sadece sayfalar arasında geçiş yapması bir izin sorusudur ve uygulamanız zaten cevabını biliyor. Görüntüleyiciyi bu cevaba göre yapılandırın, tüm kontrolleri açıp kimsenin tıklamayacağını ummak yerine.


6. Performans ve ölçeklenebilirlik – deneyimi hızlı tutun

Yüksek trafikli bir portalda görüntüleyici yerleştirmek iki pratik endişeyi gündeme getirir: yükleme süresi ve eşzamanlı render. Doconut App her ikisini de kutudan çıkar çıkmaz ele alır, ancak birkaç .NET‑özel püf noktasıyla performans sınırını güçlendirebilirsiniz.

EndişeNe yapılmalı
İlk sayfa gecikmesiSayfa otomatik yükleme, okuyucunun ilk sayfayı görmesini sağlar, geri kalan hâlâ hazırlanırken. Statik dosya sıkıştırmasını etkinleştir (app.UseResponseCompression()) ve istemci varlıklarını önbellekle.
Tek bir dosyanın tekrar tekrar görüntülenmesiSık sık açılan bir belge bir kez renderlenip, istek başına yeniden renderlemek yerine önbellekten sunulabilir. SSS, bunun için .DCN seçeneğini kapsar.
Renderleme maliyetiRenderleme sunucu işidir. Görüntü çözünürlüğünü, kalite kritik olmadığında düşürmek en büyük tek etkendir ve bu bir kod değişikliği değil, yapılandırma değişikliğidir.
EşzamanlılıkYük altında zaman aşımı ve AutoClose ayarlarını gözden geçir ve tek bir düğümün yeterli olacağını varsaymadan önce web farm örneklerini oku. Yükleme uç noktasını oran‑sınırlı yap.

Kendi belgelerinizle ölçüm yapın. 5 MB metin‑tabanlı bir PDF ile aynı raporun 5 MB taranmış sürümü hiç benzemeyen davranışlar sergiler ve sadece biri sentetik bir benchmarkta öne çıkar.

Temel Çıkarımlar

  • Doconut Viewer, ASP.NET Core, MVC ve WebForms ile çalışan eklentisiz bir .NET SDK'sıdır. Kullanıcılarınız hiçbir şey kurmaz.
  • Kendi ortamınıza kurulur ve Doconut sunucularına hiçbir çağrı yapmaz, böylece belgeler zaten kontrol ettiğiniz sınırlar içinde kalır.
  • Ulaşım güvenliği, dinlenme halindeki şifreleme ve saklama süresi sizin tarafınızdan ayarlanabilir, çünkü dosya altyapınızdan hiç çıkmaz. Doconut, veri haritanızda bir işlemci haline gelmez.
  • SDK kataloğu 18 ailede 75 dosya uzantısı içerir — PDF, Office, CAD, Visio, Project, e‑posta, eKitap ve görseller, ayrıca DICOM kendi eklentisi aracılığıyla.
  • Renderleme sunucuda gerçekleşir. Bu, bir tarayıcının DWG açmasını sağlar ve aynı zamanda ölçeklendirilmesi gereken öğedir.
  • Kullanıcının gördüğü kontroller — yazdırma, indirme veya sadece sayfalama — uygulamanızın zaten sahip olduğu izinlere göre belirlenmelidir.
  • Yapılandırma seçenek adlarını, kurulu sürümünüzün belgelerinden alın, asla bir makaleden almayın.

Sık Sorulan Sorular

Q1: Sunucuya bir şey kurmam gerekiyor mu?
C: Evet. Doconut Viewer, uygulamanıza kurduğunuz bir .NET SDK'sıdır — indirme sayfası adresinden başlayarak seçtiğiniz sürüm için paketi ve belgeleri kullanın. Çağırılacak barındırılan bir uç nokta yoktur ve Doconut CDN'inden hiçbir şey sunulmaz.

Q2: Görüntüleme sonrasında dosyayı kim siler?
C: Siz silersiniz. Çünkü belge ve geçici render çıktısı ortamınızda bulunur, saklama süresi bir satıcıdan gelen bir vaat değil, uygulamanızdaki bir ayardır. Geçici dosyaların nereye yazılacağını ve neyin sileceğini, üretime geçmeden önce belirleyin.

Q3: Kullanıcılar belgeyi yazdırabilir mi?
C: Yazdırma, görüntüleyicinin bir özelliğidir ve kullanıcı başına verilebilir ya da engellenebilir. Kontrol edilen yazdırmanın görüntüleyicinin kendisinin bir parçası olduğunu unutmayın — bu, Annotation, Converter, DICOM ve Search olmak üzere dört lisanslı eklentiden biri değildir.

Q4: Belgeyi başka bir formata dönüştürebilir mi?
C: Bu, ayrı olarak lisanslanan Converter eklentisidir. Görüntüleme ve dönüştürme burada farklı ürünlerdir ve iş akışının aslında hangisine ihtiyacı olduğunu netleştirmek gerekir.


Sıfır‑eklentili bir belge görüntüleyiciyi .NET uygulamanıza yerleştirmeye hazır mısınız? Başlamak için Doconut indirme sayfası — deneme lisansı ücretsizdir. Ve eğer gerçekten ihtiyacınız bugün bir dosya açmaksa, Doconut.app bunu bir tarayıcı sekmesinde yapar ve ardından siler.