Εγκατάσταση

Προσθέστε το Doconut στο .NET Standard 2.1 έργο σας

Ο βασικός προβολέας Doconut για .NET Standard διανέμεται ως ένα πακέτο NuGet που ενσωματώνεται σε οποιαδήποτε εφαρμογή ASP.NET Core. Τα προαιρετικά πρόσθετα χρησιμοποιούν ξεχωριστά πακέτα. Αυτή η σελίδα εγκαθιστά το βασικό πακέτο, επιβεβαιώνει ότι ο κεντρικός υπολογιστής σας μπορεί να το χρησιμοποιήσει και καταχωρίζει το middleware — το ελάχιστο που απαιτείται πριν από την πρώτη σας απόδοση.

Ελέγξτε πρώτα το πλαίσιο του κεντρικού υπολογιστή

Η βιβλιοθήκη στοχεύει στο netstandard2.1. Αυτό είναι ένα πιο στενό συμβόλαιο από την προηγούμενη έκδοση netstandard2.0, και είναι το πρώτο πράγμα που πρέπει να επαληθευτεί:

ΠεριβάλλονΥποστηρίζεται
.NET Core 3.0 ή νεότερο, συμπεριλαμβανομένων των .NET 5/6/7/8Ναι
.NET Framework (οποιαδήποτε έκδοση)Όχι — το netstandard2.1 δεν μπορεί να καταναλωθεί από το .NET Framework

Αν η εφαρμογή εκτελείται σε .NET Framework, αυτό δεν είναι το σωστό πακέτο. Χρησιμοποιήστε το Doconut.NETFramework αντ' αυτού· από την έκδοση 26.9.0 απαιτεί .NET Framework 4.7.2. Οι εφαρμογές αναφοράς που διανέμονται με αυτή την έκδοση στοχεύουν το net8.0.

Εγκατάσταση του πακέτου

bash
dotnet add package Doconut.NETStandard

Η εντολή χωρίς έκδοση εγκαθιστά την πιο πρόσφατη σταθερή έκδοση. Για να αναπαράγετε ακριβώς την τρέχουσα έκδοση 26.8.0, περάστε την έκδοση ως ξεχωριστή επιλογή:

bash
dotnet add package Doconut.NETStandard --version 26.8.0

Doconut.NETStandard είναι το αναγνωριστικό του πακέτου. Το επίθημα .26.8.0 ανήκει στο ληφθέν όνομα αρχείου Doconut.NETStandard.26.8.0.nupkg και δεν αποτελεί μέρος του αναγνωριστικού.

Ο αριθμός έκδοσης είναι η γενιά

Αυτό έχει μεγαλύτερη σημασία εδώ από το όνομα του πακέτου. Και οι δύο γενιές της βιβλιοθήκης .NET Standard δημοσιεύονται κάτω από το ίδιο αναγνωριστικό πακέτου, και μόνο η έκδοση τις διακρίνει:

ΈκδοσηΣτόχοςAPI
26.7.0 και κάτωnetstandard2.0η προηγούμενη ενσωμάτωση
26.8.0 και πάνωnetstandard2.1η ενσωμάτωση που τεκμηριώνεται εδώ

Δεν υπάρχει shim συμβατότητας και δεν υπάρχει πακέτο παράλληλης εγκατάστασης. Η αύξηση της έκδοσης είναι η αναβάθμιση, και ο μεταγλωττιστής θα αναφέρει άμεσα τις διαφορές στο API.

Μην επιλέγετε τεκμηρίωση μόνο από το όνομα του πακέτου:

  • new Viewer(_cache, _accessor, …), UnSafeMode, synchronous OpenDocument(...), viewer.InitCache(), UseDoconutWebFarm, και χειροκίνητα αντιγραμμένα scripts προβολέα που ταυτοποιούν την προηγούμενη ενσωμάτωση;
  • AddDoconut(), UseDoconutResources(), ένας ενσωματωμένος Viewer, και OpenDocumentAsync(...) που ταυτοποιούν την τρέχουσα ενσωμάτωση που τεκμηριώνεται εδώ.

Το μεταφρασμένο προηγούμενο εγχειρίδιο εγκατάστασης παραμένει διαθέσιμο. Χρησιμοποιήστε τον οδηγό μετάβασης για να αλλάξετε γενιές· μια ενημέρωση πακέτου δεν μετατρέπει αυτόματα την εκκίνηση, τη διάρκεια ζωής του viewer ή τους πόρους του προγράμματος περιήγησης.

Καταχώριση του Doconut

AddDoconut() είναι το μοναδικό σημείο εισόδου καταχώρισης — υπάρχει μία μόνο υπερφόρτωση, και συνδέει την υπηρεσία Viewer, την υπηρεσία άδειας και την υποδομή απόδοσης στο DI container.

Δύο κλήσεις middleware ολοκληρώνουν τη ρύθμιση, και η σειρά τους έχει σημασία: UseDoconutResources() πρέπει να εκτελεστεί πριν από UseDoconut(). UseDoconut() είναι τελικό middleware, έτσι η κλήση του πρώτα σημαίνει ότι κάθε αίτημα σε έναν πόρο /doconut-res δεν φτάνει ποτέ στον διαχειριστή πόρων και επιστρέφει 404. Η σύνδεση της συνεδρίας απαιτείται επίσης — η προεπιλεγμένη ασφάλεια εγγράφων του Doconut επικυρώνει κάθε αίτημα σελίδας έναντι της κατάστασης συνεδρίας ASP.NET.

csharp
builder.Services.AddDoconut(options =>
{
    options.LicensePath = "Doconut.Viewer.lic";
});
builder.Services.AddDistributedMemoryCache(); // η κατάσταση συνεδρίας χρειάζεται μια κρυφή μνήμη (MVC/Razor Pages ήδη προσθέτουν μία)
builder.Services.AddSession(); // Η ασφάλεια εγγράφων Doconut βασίζεται στην κατάσταση συνεδρίας ASP.NET

app.UseSession();          // καλέστε το UseSession() πριν από το UseDoconut()
app.UseDoconutResources(); // πρέπει να καταχωρηθεί πριν από το UseDoconut()
app.UseDoconut();

Ονοματοχώροι

Οι τύποι διαμόρφωσης δεν διασπείρονται πλέον σε τέσσερις ονοματοχώρους. Σε αυτή την έκδοση σχεδόν όλα βρίσκονται στον ριζικό ονοματοχώρο Doconut:

csharp
using Doconut;                       // Viewer, DoconutOptions, DocOptions, όλες οι ρυθμίσεις μορφής
using Doconut.Middleware;            // AddDoconut, UseDoconut, UseDoconutResources
using Doconut.Clouds;                // ρυθμίσεις cloud και file-share
using Doconut.Configs.Conversion;    // ConversionTarget

Τα ονόματα των τύπων δεν άλλαξαν — PdfConfig, WordConfig, ExcelConfig, CssConfig, ScriptConfig και τα υπόλοιπα είναι ακόμα εκεί. Αν μεταφέρετε μια υπάρχουσα εφαρμογή, τα περισσότερα αρχεία χρειάζονται μόνο δύο διαγραμμένες γραμμές using· δείτε τον οδηγό μετάβασης.

Όλες οι επιλογές

DoconutOptions δέχεται τις παρακάτω ρυθμιζόμενες ιδιότητες. Κάθε μία είναι προαιρετική — τα προεπιλεγμένα παρακάτω ισχύουν όταν μια ιδιότητα παραμείνει ακαθορισμένη.

ΙδιότηταΠροεπιλογήΠεριγραφή
ShowDoconutInfofalseΌταν true, ένα αίτημα χωρίς token επιστρέφει μια λωρίδα έκδοσης αντί για 404. Χρήσιμο ως γρήγορος έλεγχος· αφαιρέστε το σε παραγωγή.
UnsafeModefalseΌταν true, παραλείπει τον έλεγχο ασφαλείας ASP.NET-session στα αιτήματα σελίδας. Αφαιρέστε το σε παραγωγή. Σημειώστε την ορθογραφία — η προηγούμενη βιβλιοθήκη το ονόμαζε UnSafeMode.
MiddlewarePath"/doconut"Τιμή συντονισμού για το endpoint page-image. Επικυρώνεται, αλλά δεν δημιουργεί κλάδο από μόνη της· διατηρήστε τη συγχρονισμένη με την πραγματική αντιστοίχιση UseDoconut() και τον πελάτη BasePath.
ResourcesPath"/doconut-res"Από πού σερβίρονται οι ενσωματωμένοι πόροι JS/CSS/εικόνας.
LicensePath"" (empty string)Διαδρομή προς το αρχείο άδειας. Κενό σημαίνει μετάβαση στην επόμενη πηγή, έπειτα αυτόματη αναζήτηση.
LicenseContent"" (empty string)Ακατέργαστο περιεχόμενο άδειας — από μεταβλητή περιβάλλοντος, διαχειριστή μυστικών ή βάση δεδομένων.
LicenseStreamnullΆδεια ως ροή, διαβάζεται μία φορά κατά την εκκίνηση.
ResetLicensefalseΚρατημένη σημαία συμβατότητας. Η άδεια διαβάζεται κατά τη διάρκεια του AddDoconut()· επανεκκινήστε την εφαρμογή μετά την αντικατάσταση μιας άδειας.

Προτεραιότητα άδειας όταν ορίζονται περισσότερες από μία πηγές: LicenseStream υπερισχύει του LicenseContent, υπερισχύει του LicensePath, υπερισχύει της αυτόματης αναζήτησης — δείτε το Ρύθμιση Άδειας.

csharp
builder.Services.AddDoconut(options =>
{
    options.LicensePath     = "Doconut.Viewer.lic";
    options.MiddlewarePath  = "/doconut";     // συντονίστε με την αντιστοίχιση της εφαρμογής και το BasePath του πελάτη
    options.ResourcesPath   = "/doconut-res"; // από πού σερβίρονται τα JS/CSS/εικόνες του viewer
    options.UnsafeMode      = false;          // διατηρήστε την ασφάλεια της συνεδρίας ενεργή
    options.ShowDoconutInfo = false;
});

Επόμενα βήματα

Ήταν αυτή η σελίδα χρήσιμη;