Installazione
Aggiungi Doconut al tuo progetto .NET Standard 2.1
Il visualizzatore base Doconut per .NET Standard viene fornito come un unico pacchetto NuGet che si integra in qualsiasi applicazione ASP.NET Core. I plugin opzionali usano pacchetti separati. Questa pagina installa il pacchetto base, verifica che il tuo host possa consumarlo e registra il middleware — il minimo necessario prima del tuo primo rendering.
Verifica prima il framework host
La libreria mira a netstandard2.1. È un contratto più ristretto rispetto al precedente build netstandard2.0, ed è la prima cosa da verificare:
| Host | Supportato |
|---|---|
| .NET Core 3.0 o successivo, incluso .NET 5/6/7/8 | Sì |
| .NET Framework (qualsiasi versione) | No — netstandard2.1 non può essere consumato da .NET Framework |
Se l'applicazione gira su .NET Framework, questo non è il pacchetto corretto. Usa Doconut.NETFramework invece; dalla versione 26.9.0 richiede .NET Framework 4.7.2. Le applicazioni di riferimento fornite con questa release mirano a net8.0.
Installa il pacchetto
dotnet add package Doconut.NETStandardIl comando senza versione installa l'ultima release stabile. Per riprodurre esattamente la release 26.8.0 corrente, passa la versione come opzione separata:
dotnet add package Doconut.NETStandard --version 26.8.0Doconut.NETStandard è l'ID del pacchetto. Il suffisso .26.8.0 appartiene al nome file scaricato Doconut.NETStandard.26.8.0.nupkg e non fa parte dell'ID.
Il numero di versione è la generazione
Questo è più importante qui del nome del pacchetto. Entrambe le generazioni della libreria .NET Standard pubblicano sotto lo stesso ID di pacchetto, e solo la versione le distingue:
| Versione | Obiettivo | API |
|---|---|---|
| 26.7.0 e precedenti | netstandard2.0 | l'integrazione precedente |
| 26.8.0 e successive | netstandard2.1 | l'integrazione documentata qui |
Non esiste uno shim di compatibilità né un pacchetto side‑by‑side. Incrementare la versione è l'aggiornamento, e il compilatore segnalerà immediatamente le differenze API.
Non scegliere la documentazione basandoti solo sul nome del pacchetto:
new Viewer(_cache, _accessor, …),UnSafeMode,OpenDocument(...)sincrono,viewer.InitCache(),UseDoconutWebFarme gli script del visualizzatore copiati manualmente identificano l'integrazione precedente;AddDoconut(),UseDoconutResources(), unVieweriniettato eOpenDocumentAsync(...)identificano l'integrazione corrente documentata qui.
Il manuale di configurazione precedente tradotto è ancora disponibile. Usa la guida alla migrazione per cambiare generazione; un aggiornamento del pacchetto non converte automaticamente avvio, durata del visualizzatore o risorse del browser.
Registra Doconut
AddDoconut() è l'unico punto di ingresso per la registrazione — c'è un unico overload, e collega il servizio Viewer, il servizio licenza e l'infrastruttura di rendering al contenitore DI.
Due chiamate middleware completano la configurazione, e il loro ordine è importante: UseDoconutResources() deve essere eseguito prima di UseDoconut(). UseDoconut() è middleware terminale, quindi chiamarlo per primo fa sì che ogni richiesta a una risorsa /doconut-res non raggiunga mai il gestore delle risorse e ritorni 404. È anche necessario il wiring della sessione — la sicurezza predefinita dei documenti Doconut valida ogni richiesta di pagina contro lo stato di sessione ASP.NET.
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
});
builder.Services.AddDistributedMemoryCache(); // lo stato di sessione necessita di una cache (MVC/Razor Pages ne aggiungono già una)
builder.Services.AddSession(); // la sicurezza dei documenti Doconut si basa sullo stato di sessione ASP.NET
app.UseSession(); // chiama UseSession() prima di UseDoconut()
app.UseDoconutResources(); // deve essere registrato prima di UseDoconut()
app.UseDoconut();Spazi dei nomi
I tipi di configurazione non sono più sparsi in quattro spazi dei nomi. In questa release quasi tutto vive nello spazio dei nomi radice Doconut:
using Doconut; // Viewer, DoconutOptions, DocOptions, tutte le configurazioni di formato
using Doconut.Middleware; // AddDoconut, UseDoconut, UseDoconutResources
using Doconut.Clouds; // configurazioni cloud e condivisione file
using Doconut.Configs.Conversion; // ConversionTargetI nomi dei tipi stessi non sono cambiati — PdfConfig, WordConfig, ExcelConfig, CssConfig, ScriptConfig e gli altri sono ancora presenti. Se stai spostando un'applicazione esistente, la maggior parte dei file necessita solo di due righe using rimosse; vedi la guida alla migrazione.
Tutte le opzioni
DoconutOptions accetta le seguenti proprietà impostabili. Ognuna è opzionale — i valori predefiniti qui sotto si applicano quando una proprietà rimane non impostata.
| Proprietà | Predefinito | Descrizione |
|---|---|---|
ShowDoconutInfo | false | Quando true, una richiesta senza token restituisce un banner di versione invece di un 404. Utile come verifica rapida; disattivare in produzione. |
UnsafeMode | false | Quando true, salta il controllo di sicurezza della sessione ASP.NET nelle richieste di pagina. Disattivare in produzione. Nota l'ortografia — la libreria precedente chiamava questa UnSafeMode. |
MiddlewarePath | "/doconut" | Valore di coordinamento per l'endpoint pagina-immagine. Viene validato, ma non monta un ramo da solo; mantienilo allineato con la mappatura reale di UseDoconut() e il BasePath del client. |
ResourcesPath | "/doconut-res" | Da dove vengono servite le risorse JS/CSS/immagine incorporate. |
LicensePath | "" (stringa vuota) | Percorso al file di licenza. Vuoto significa passare alla fonte successiva, poi ricerca automatica. |
LicenseContent | "" (stringa vuota) | Contenuto grezzo della licenza — da una variabile d'ambiente, un gestore di segreti o un database. |
LicenseStream | null | Licenza come stream, letta una volta all'avvio. |
ResetLicense | false | Flag di compatibilità riservato. La licenza viene letta durante AddDoconut(); riavvia l'app dopo aver sostituito una licenza. |
Priorità della licenza quando è impostata più di una fonte: LicenseStream prevale su LicenseContent, che prevale su LicensePath, che prevale sulla ricerca automatica — vedi Configurazione Licenza.
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
options.MiddlewarePath = "/doconut"; // coordinare con la mappatura dell'app e il BasePath del client
options.ResourcesPath = "/doconut-res"; // da dove vengono servite le JS/CSS/immagini del visualizzatore
options.UnsafeMode = false; // mantenere attiva la sicurezza della sessione
options.ShowDoconutInfo = false;
});Passi successivi
- Guida rapida — apri il tuo primo documento e renderizzalo nel browser.
- Configurazione licenza — dove Doconut cerca il tuo file di licenza.
Questa pagina è stata utile?