Installation
Fügen Sie Doconut zu Ihrem .NET 8-Projekt hinzu
Der Basis‑Doconut‑Viewer für .NET 8 wird als ein NuGet‑Paket bereitgestellt, das in jede ASP.NET‑Core‑Anwendung integriert werden kann. Optionale Plugins verwenden separate Pakete. Diese Seite installiert das Basis‑Paket und registriert die Middleware — das Minimum, das vor Ihrer ersten Darstellung erforderlich ist.
Paket installieren
dotnet add package Doconut.NET8Der unveröffentlichte Befehl installiert die neueste stabile Version. Um die aktuelle Version 26.7.0 exakt nachzubilden, übergeben Sie die Versionsnummer als separate Option:
dotnet add package Doconut.NET8 --version 26.7.0Doconut.NET8 ist die Paket‑ID. Der .26.7.0‑Suffix gehört zum heruntergeladenen Doconut.NET8.26.7.0.nupkg‑Dateinamen und ist nicht Teil der ID.
Doconut registrieren
AddDoconut() ist der einzige Registrierungseintrag — es gibt nur eine Überladung, und sie verbindet den Viewer‑Dienst, den Lizenzdienst und die Rendering‑Infrastruktur mit dem DI‑Container.
Zwei Middleware‑Aufrufe vervollständigen die Einrichtung, und ihre Reihenfolge ist wichtig: UseDoconutResources() muss vor UseDoconut() ausgeführt werden. UseDoconut() ist terminale Middleware, sodass ein Aufruf zu Beginn bedeutet, dass jede Anfrage an ein /doconut-res‑Asset nie den Ressourcen‑Handler erreicht und mit 404 beantwortet wird. Das Session‑Wiring ist ebenfalls erforderlich — Documents Standard‑Dokumentensicherheit prüft jede Seitenanfrage gegen den ASP.NET‑Session‑State.
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
});
builder.Services.AddDistributedMemoryCache(); // Sitzungszustand benötigt einen Cache (MVC/Razor Pages fügen bereits einen hinzu)
builder.Services.AddSession(); // Doconut-Dokumentsicherheit beruht auf dem ASP.NET-Sitzungszustand
app.UseSession(); // Rufen Sie UseSession() vor UseDoconut() auf
app.UseDoconutResources(); // Muss vor UseDoconut() registriert werden
app.UseDoconut();Alle Optionen
DoconutOptions akzeptiert die folgenden einstellbaren Eigenschaften. Jede ist optional — die untenstehenden Vorgaben gelten, wenn eine Eigenschaft nicht gesetzt wird.
| Eigenschaft | Standard | Beschreibung |
|---|---|---|
ShowDoconutInfo | false | Wenn true, gibt eine Anfrage ohne token ein Versionsbanner statt eines 404 zurück. Nützlich als Schnelltest; in der Produktion deaktivieren. |
UnsafeMode | false | Wenn true, wird die ASP.NET‑Session‑Sicherheitsprüfung bei Seitenanfragen übersprungen. In der Produktion deaktivieren. |
MiddlewarePath | "/doconut" | Koordinationswert für den page‑image‑Endpunkt. Er wird validiert, mountet jedoch keinen eigenen Zweig; halten Sie ihn abgestimmt mit der tatsächlichen UseDoconut()‑Zuordnung und dem Client‑BasePath. |
ResourcesPath | "/doconut-res" | Wo die eingebetteten JS/CSS/Image‑Ressourcen bereitgestellt werden. |
LicensePath | "" (empty string) | Pfad zur Lizenzdatei. Leer bedeutet, dass zur nächsten Quelle weitergegangen wird, dann automatische Suche. |
LicenseContent | "" (empty string) | Roh‑Lizenzinhalt — aus einer Umgebungsvariablen, einem Secret‑Manager oder einer Datenbank. |
LicenseStream | null | Lizenz als Stream, einmal beim Starten gelesen. |
ResetLicense | false | Reserviertes Kompatibilitäts‑Flag. Die aktuellen .NET 8‑Dienste lesen die Lizenz während AddDoconut(); starten Sie die Anwendung neu, nachdem Sie eine Lizenz ausgetauscht haben. |
Lizenz‑Priorität, wenn mehr als eine Quelle gesetzt ist: LicenseStream hat Vorrang vor LicenseContent, vor LicensePath und vor der automatischen Suche — siehe License Setup.
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
options.MiddlewarePath = "/doconut"; // Koordinieren Sie sich mit dem App-Mapping und dem Client-BasePath
options.ResourcesPath = "/doconut-res"; // Wo die JS/CSS/Bilder des Viewers bereitgestellt werden
options.UnsafeMode = false; // Session-Sicherheit aktiv halten
options.ShowDoconutInfo = false;
});Nächste Schritte
- Schnellstart — öffnen Sie Ihr erstes Dokument und rendern Sie es im Browser.
- Lizenzsetup — wo Doconut nach Ihrer Lizenzdatei sucht.
War diese Seite hilfreich?