Ja—Sie können einen sicheren, plugin‑freien Online‑Dateibetrachter in jede ASP.NET Core-, MVC- oder WebForms‑Anwendung in nur wenigen Minuten einbetten, und Doconut App übernimmt die gesamte Arbeit.
Unternehmen, die Verträge, Zeichnungen oder Design‑Assets bereitstellen, benötigen einen Betrachter, der Unternehmens‑Sicherheitsrichtlinien respektiert, in jedem Browser funktioniert und niemals Nutzer zwingt, Drittanbieter‑Plugins zu installieren. Doconut App liefert genau das: einen browserbasierten Betrachter, der PDF, Office, CAD und über 50 weitere Formate unterstützt, mit AES‑256‑Verschlüsselung, ausschließlich SSL‑Uploads und einer vollständig anpassbaren UI. Dieser Beitrag führt Sie durch den gesamten Workflow — vom sicheren Datei‑Upload bis zum Rendering des Betrachters — so dass Sie eine ausgereifte, unternehmensgerechte Lösung bereitstellen können, ohne eine Rendering‑Engine von Grund auf zu schreiben.
1. Warum Sicherheit und plugin‑freies Rendering für .NET‑Web‑Apps wichtig sind
Moderne Unternehmen behandeln jedes Dokument als potenzielles Datenleck. Wenn Sie einen Betrachter einbetten, der auf ActiveX, Flash oder einem nativen Client basiert, übernehmen Sie drei Risiken:
| Risiko | Auswirkung auf Ihre .NET‑Anwendung | Wie Doconut App es eliminiert |
|---|---|---|
| Plugin‑Abhängigkeit | Nutzer müssen ein Browser‑Plugin installieren oder aktivieren, was zu Support‑Tickets und Compliance‑Problemen führt. | Doconut läuft vollständig in HTML5/Canvas und erfordert keine Plugins. |
| Unverschlüsselter Transfer | Dateien werden über HTTP übertragen oder im Klartext gespeichert, was gegen DSGVO, HIPAA oder interne Richtlinien verstößt. | Alle Uploads erfolgen über SSL und werden mit AES‑256‑Verschlüsselung gespeichert. |
| Unkontrollierter Lebenszyklus | Dateien können auf dem Server verbleiben und die Angriffsfläche erhöhen. | Doconut löscht Dateien automatisch nach dem Betrachten, wodurch ein kurzer Aufbewahrungszeitraum gewährleistet ist. |
Da der Betrachter als JavaScript‑Komponente geliefert wird, die mit Doconut’s sicherem Rendering‑Service kommuniziert, bleibt Ihr .NET‑Stack sauber — keine zusätzlichen nativen Bibliotheken, keine Drittanbieter‑Binärdateien und keine zusätzlichen Compliance‑Audits.
2. Vorbereitung Ihres .NET‑Projekts – das minimale Setup für ASP.NET Core, MVC und WebForms
Unabhängig davon, ob Sie ASP.NET Core, MVC 5 oder WebForms verwenden, sind die Vorbereitungsschritte identisch:
-
Doconut‑Skript‑Bundle hinzufügen
Doconut hostet ein leichtgewichtiges Viewer‑Skript auf seinem CDN. Fügen Sie die folgende Zeile zu Ihrer Layout‑Seite ein (z. B._Layout.cshtmloderSite.Master):<script src="https://doconut.app/viewer.min.js"></script> -
Ein Platzhalter‑Element erstellen
Der Betrachter fügt ein Canvas in jedes von Ihnen benannte<div>ein. Beispiel für Razor:<div id="docViewer" style="width:100%; height:800px;"></div>Für WebForms platzieren Sie ein
<asp:Panel>mitrunat="server"und geben ihm dieID="docViewer". -
Doconut‑CSS referenzieren (optional)
Wenn Sie die Standard‑Toolbar und das Standard‑Theme verwenden möchten, binden Sie die CSS‑Datei ein:<link rel="stylesheet" href="https://doconut.app/viewer.min.css" />
Das ist alles, was Sie an statischen Assets benötigen. Der Rest der Arbeit erfolgt in Ihrem serverseitigen Code (Upload, Verschlüsselung, Token‑Erzeugung) und einem kleinen clientseitigen Initialisierungsskript.
3. Erstellung eines sicheren Upload‑Endpunkts – AES‑256, SSL und automatisches Löschen
Der Betrachter greift nie direkt auf Dateien im Dateisystem zu. Stattdessen laden Sie das Dokument in einen temporären, verschlüsselten Speicherort hoch, den Doconut bei Bedarf liest.
Serverseitiger Workflow
- Datei‑Upload akzeptieren – Verwenden Sie das Standard‑Objekt
IFormFile(bzw.HttpPostedFilein WebForms), um das Dokument vom Client zu empfangen. - Datei mit AES‑256 verschlüsseln – Bevor Sie den Stream persistieren, verschlüsseln Sie ihn mit einer bewährten Bibliothek wie
System.Security.Cryptography.Aes. Speichern Sie das verschlüsselte Blob an einem sicheren Ort (z. B. Azure Blob Storage mit serverseitiger Verschlüsselung oder ein S3‑Bucket mit SSE‑AES256). - Kurzlebige signierte URL erzeugen – Erzeugen Sie eine URL, die nur wenige Minuten (z. B. 5 Minuten) gültig ist. Die URL muss HTTPS sein und einen kryptografischen Token enthalten, den Doconut validieren kann. Die meisten Cloud‑Anbieter bieten dafür die Funktion „pre‑signed URL“.
- Signierte URL an den Client zurückgeben – Senden Sie eine JSON‑Antwort, die die URL enthält. Der Client übergibt diese URL anschließend an den Doconut‑Betrachter.
- Automatisches Löschen planen – Sobald die signierte URL abläuft, entfernt ein Hintergrundjob (Hangfire, Azure Functions usw.) das verschlüsselte Blob, sodass die Datei nicht länger auf dem Server verbleibt.
MVC / WebForms‑Entsprechungen
- MVC – Platzieren Sie die gleiche Logik in einer regulären Controller‑Aktion und geben Sie
JsonResultzurück. - WebForms – Implementieren Sie einen
.ashx‑Handler oder eine Page‑Methode, die dieselben Schritte ausführt:Request.Files[0]empfangen, verschlüsseln, eine pre‑signed URL erzeugen und die JSON‑Antwort schreiben.
Der einzige Unterschied liegt in der Routing‑Syntax; der Sicherheits‑Workflow bleibt identisch.
4. Rendering des Doconut‑Betrachters – von der URL zur Browser‑Canvas
Sobald der Client die signierte URL erhalten hat, kann der Betrachter mit einem einzigen JavaScript‑Aufruf gestartet werden. Doconut’s SDK verarbeitet Streaming, Rendering und UI‑Interaktionen automatisch.
<script>
// Assume `response.viewerUrl` contains the signed URL returned from the upload endpoint
function launchViewer(viewerUrl) {
// Initialise the Doconut viewer. The global object provided by the script is `DoconutViewer`.
DoconutViewer.init({
containerId: "docViewer", // The <div> we placed earlier
fileUrl: viewerUrl, // Signed, HTTPS URL to the encrypted file
toolbar: true, // Show the built‑in toolbar
theme: "light" // Optional visual theme
});
}
// Example: after a successful upload
fetch("/api/document/upload", {
method: "POST",
body: myFormData,
credentials: "include"
})
.then(r => r.json())
.then(data => launchViewer(data.viewerUrl));
</script>
Warum das für jede .NET‑Variante funktioniert
- ASP.NET Core Razor – Das Skript befindet sich in derselben View, die das Upload‑Formular hostet, sodass der Ablauf nahtlos ist.
- MVC – Verwenden Sie
@section Scripts, um das gleiche Snippet einzufügen; der Controller gibt JSON zurück, das MVC’s$.ajaxverarbeiten kann. - WebForms – Registrieren Sie das Skript mit
ClientScript.RegisterStartupScriptnach Abschluss des Uploads und rufen SielaunchViewerauf dieselbe Weise auf.
Da Doconut das Dokument direkt von der signierten URL streamt, berührt der Server die Datei nach dem Upload‑Schritt nie wieder. Der Betrachter rendert PDFs, Word‑Dateien, CAD‑Zeichnungen und alle anderen im Produkt‑Fact‑Sheet aufgeführten Formate — ohne zusätzliche serverseitige Konvertierung.
5. Anpassung des Betrachters an Ihre Marke – Feinabstimmung des Online‑Dateibetrachters
Unternehmen benötigen häufig, dass der Betrachter wie ein nativer Teil ihres Portals aussieht. Doconut App’s vollständig anpassbare UI lässt Sie:
| Anpassung | Wie in .NET anzuwenden |
|---|---|
| Toolbar‑Layout | Setzen Sie toolbar: false und bauen Sie eigene Buttons, die die JavaScript‑API des Betrachters aufrufen (z. B. zoomIn(), print()). |
| Farbschema | Setzen Sie theme: "dark" oder binden Sie eine eigene CSS‑Datei ein, die die Standard‑Klassen überschreibt. |
| Sprache & Barrierefreiheit | Doconut respektiert das lang‑Attribut im Container; Sie können außerdem ARIA‑Labels über die Option accessibility hinzufügen. |
| Ereignis‑Hooks | Rückrufe wie onPageChange, onError und onDownload ermöglichen das Protokollieren von Nutzungsmetriken in Ihrer bestehenden Telemetrie‑Pipeline. |
Alle diese Hooks werden im gleichen JavaScript‑Objekt konfiguriert, das im vorherigen Abschnitt gezeigt wurde. Da der Betrachter vollständig clientseitig läuft, gibt es keine zusätzliche Server‑Last — Ihr .NET‑Backend bleibt auf Authentifizierung, Verschlüsselung und Geschäftslogik fokussiert.
6. Leistung und Skalierbarkeit – das Erlebnis flüssig halten
Das Einbetten eines Betrachters in ein stark frequentiertes Portal wirft zwei praktische Fragen auf: Ladezeit und gleichzeitiges Rendering. Doconut App adressiert beide sofort, aber Sie können die Performance‑Spanne mit einigen .NET‑spezifischen Tricks weiter verbessern.
| Problem | Doconut‑eingebauter Vorteil | Zusätzlicher .NET‑Tipp |
|---|---|---|
| Erster Download | Viewer‑Script ist nur ~150 KB, gzip‑komprimiert. | Aktivieren Sie statische Dateikompression (app.UseResponseCompression()) und Caching (Cache‑Control: public, max‑age=31536000). |
| Datei‑Streaming | Doconut streamt nur die benötigten Seiten mittels HTTP‑Range‑Requests. | Speichern Sie verschlüsselte Blobs in einem regionalen CDN (Azure Front Door, Amazon CloudFront), um die Latenz zu reduzieren. |
| Gleichzeitige Benutzer | Rendering erfolgt im Client; der Server liefert die verschlüsselte Datei nur einmal pro Ansicht. | Drosseln Sie den Upload‑Endpunkt mit IApplicationRateLimiter, um Lastspitzen abzufangen. |
| Speicherverbrauch | Keine serverseitigen PDF‑Konvertierungsbibliotheken, sodass der ASP.NET‑Prozess schlank bleibt. | Führen Sie den Upload‑Dienst in einem separaten Microservice aus, falls Sie bereits eine schwere Hintergrund‑Job‑Warteschlange besitzen. |
Wenn Sie diese Richtlinien befolgen, können Sie Tausende gleichzeitiger Betrachter unterstützen, ohne die .NET‑Web‑Ebene über das bereits Vorhandene hinaus zu skalieren.
Wesentliche Erkenntnisse
- Doconut App bietet einen plugin‑freien, 100 % sicheren Betrachter, der mit ASP.NET Core, MVC und WebForms funktioniert.
- Uploads erfolgen nur über SSL, werden mit AES‑256‑Verschlüsselung gespeichert und nach Ablauf der signierten URL automatisch gelöscht.
- Die Integration erfordert nur ein CDN‑Skript, ein Container‑
<div>und einen kleinen serverseitigen Endpunkt, der eine signierte URL zurückgibt. - Der Betrachter unterstützt PDF, Office, CAD und über 50 Bildformate — keine serverseitige Konvertierung nötig.
- Die UI kann vollständig angepasst werden, um dem Corporate Branding zu entsprechen, und der Betrachter bietet integrierte Zoom‑, Mess‑ und Ebenen‑Werkzeuge für CAD‑Dateien.
- Die Leistung wird clientseitig gehandhabt; .NET‑Entwickler müssen nur statische Dateikompression und optionales CDN‑Caching sicherstellen.
- Der gesamte Workflow — vom sicheren Upload bis zum Rendering im Browser — fügt sich nahtlos in bestehende .NET‑Authentifizierungs‑ und Autorisierungspipelines ein.
Häufige Fragen
Q1: Muss ich NuGet‑Pakete installieren, um Doconut zu verwenden?
A: Nein. Der Betrachter wird als clientseitiges JavaScript‑Bundle von Doconut’s CDN bereitgestellt. Ihr Server benötigt lediglich die üblichen ASP.NET Core‑Middleware‑Komponenten für Datei‑Uploads und Verschlüsselung, die Sie wahrscheinlich bereits haben.
Q2: Wie stellt Doconut sicher, dass die Datei nach dem Betrachten gelöscht wird?
A: Doconut erzeugt eine kurzlebige signierte URL, die nach einem konfigurierbaren Zeitraum (typischerweise fünf Minuten) abläuft. Nach Ablauf der URL löschen Sie (oder ein Hintergrund‑Cleanup‑Job) das verschlüsselte Blob. Das garantiert, dass das Dokument nicht länger als nötig aufbewahrt wird und erfüllt strenge Daten‑Aufbewahrungs‑Richtlinien.
Q3: Kann ich den Betrachter zum Drucken oder Exportieren des Dokuments verwenden?
A: Ja. Doconut’s integrierte Toolbar enthält Druck‑ und Export‑Optionen, die die ursprüngliche Qualität und das Layout der Quelldatei erhalten.
Bereit, einen sicheren, plugin‑freien Dokumentenbetrachter in Ihre .NET‑Anwendung einzubetten? Starten Sie noch heute mit Doconut App und liefern Sie PDF, Office, CAD und Dutzende weiterer Formate sicher und sofort.