DoconutOptions
Διαμόρφωση των υπηρεσιών Doconut
DoconutOptions (namespace Doconut) είναι το μοναδικό αντικείμενο διαμόρφωσης για ολόκληρο το SDK. Το διαμορφώνετε μία φορά, μέσα στο AddDoconut(), και καταχωρείται ως singleton.
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
options.UnsafeMode = false;
options.ShowDoconutInfo = false;
options.AddPlugin<Doconut.Plugins.Dicom.DicomPlugin>();
});Ιδιότητες
| Τύπος | Ιδιότητα | Προεπιλογή | Περιγραφή |
|---|---|---|---|
bool | ShowDoconutInfo | false | Όταν true, ένα αίτημα middleware χωρίς token επιστρέφει μια λωρίδα έκδοσης (Doconut <version> is running on <host>) αντί για 404. Χρήσιμο ως έλεγχος καπνού· αφήστε το false στην παραγωγή. |
bool | UnsafeMode | false | Όταν true, παραλείπει τον έλεγχο ασφαλείας της συνεδρίας ASP.NET στα αιτήματα σελίδας. Αφήστε το false στην παραγωγή (δείτε Βασικές Έννοιες → Συνεδρίες & Ασφάλεια). |
string | MiddlewarePath | "/doconut" | Τιμή συντονισμού για το endpoint page-image. Επικυρώνεται, αλλά δεν δημιουργεί κλάδο pipeline· διατηρήστε το ευθυγραμμισμένο με την πραγματική αντιστοίχιση UseDoconut() και τον πελάτη BasePath. |
string | ResourcesPath | "/doconut-res" | Πρόθεμα διαδρομής URL για τους ενσωματωμένους πόρους JS/CSS/εικόνα/γραμματοσειρά. |
string | LicensePath | "" | Διαδρομή προς το αρχείο άδειας. Κενό → επόμενη πηγή άδειας, έπειτα αυτόματη ανίχνευση· αν δεν βρεθεί τίποτα → κατάσταση αξιολόγησης με υδατογράφημα χωρίς δυνατότητες. |
string | LicenseContent | "" | Ακατέργαστο περιεχόμενο άδειας XML (βάση δεδομένων, μεταβλητή περιβάλλοντος, διαχειριστής μυστικών). Έχει προτεραιότητα έναντι LicensePath. |
Stream? | LicenseStream | null | Άδεια ως ροή, διαβάζεται μία φορά κατά την εκκίνηση. Έχει προτεραιότητα έναντι και των άλλων πηγών. |
bool | ResetLicense | false | Δεσμευμένη σημαία συμβατότητας. Η τρέχουσα υλοποίηση .NET 6 δεν την χρησιμοποιεί· επανεκκινήστε την εφαρμογή μετά την αντικατάσταση άδειας. |
DoconutPluginRegistry | PluginRegistry | — | Καταχωρητής μόνο για ανάγνωση που συλλέγει συνεισφορές plugin· χρησιμοποιείται από το εργοστάσιο προβολέα. Συμπληρώστε μέσω AddPlugin<T>(). |
Προτεραιότητα άδειας (επιβάλλεται κατά την καταχώριση υπηρεσίας): LicenseStream → LicenseContent → LicensePath → αυτόματη ανίχνευση (δείτε Ξεκινώντας → Ρύθμιση Άδειας).
Μέθοδοι
AddPlugin<TPlugin>()
DoconutOptions AddPlugin<TPlugin>() where TPlugin : IDoconutPlugin, new()Χρησιμοποιήστε αυτή τη μέθοδο για τα κυκλοφορημένα πακέτα Converter και DICOM με επιλογή. Η Σχόλιο και η κανονική Αναζήτηση είναι ενσωματωμένες λειτουργίες με άδεια και δεν χρησιμοποιούν AddPlugin<TPlugin>().
Καταχωρεί ένα plugin πρώτου μέρους (Converter, DICOM). Fluent — επιστρέφει το αντικείμενο επιλογών. AddDoconut() ρίχνει InvalidOperationException για έλλειψη άδειας, παλιό αρχείο TRIAL, ή πληρωμένη άδεια που δεν παρέχει τη δυνατότητα του plugin. Οι προσωρινές/Δοκιμαστικές καταχωρίσεις διατηρούνται μετά τη λήξη και υπόκεινται στην πύλη χρόνου εκτέλεσης (δείτε Βασικές Έννοιες → Σύστημα Plugin).
Το widget Converter με επιλογή ενεργοποιείται με AddConverterWidget() και εμφανίζεται μέσω της μόνο για ανάγνωση ιδιότητας ConverterWidget· οι επιλογές του τεκμηριώνονται στη σελίδα Converter Plugin (Πρόσθετα → Converter Plugin).
RegisterViewer(extension, factory, defaultConfig?)
DoconutOptions RegisterViewer(
string extension, // ".myext" — προαιρετικό το αρχικό τελεία
Func<IFormatViewer> factory,
Func<BaseConfig>? defaultConfig = null)Καταχωρεί έναν προσαρμοσμένο προβολέα για μια επέκταση αρχείου. Οι προσαρμοσμένοι προβολείς έχουν προτεραιότητα έναντι των ενσωματωμένων και των προβολέων plugin και δεν περιορίζονται από άδεια. Όταν το defaultConfig παραλείπεται και ένα έγγραφο ανοίγει χωρίς ρητή ρύθμιση, χρησιμοποιείται ένα ImageConfig.
Ρίχνει ArgumentException (Extension must be a non-empty file extension.) για κενή επέκταση και ArgumentNullException για μηδενική εργοστασιακή λειτουργία.
Επικύρωση εκκίνησης
AddDoconut() επικυρώνει τις επιλογές fail-fast, ώστε μια λανθασμένη ρύθμιση να εμφανίζεται ως σαφής εξαίρεση κατά την εκκίνηση αντί για συγκεχυμένα 404 κατά την ώρα του αιτήματος:
DoconutOptions.MiddlewarePath must be a non-empty path starting with '/'.
DoconutOptions.ResourcesPath must be a non-empty path starting with '/'.
DoconutOptions.MiddlewarePath and ResourcesPath must be different paths.Συνηθισμένες ρυθμίσεις
// Παραγωγή: ρητή άδεια, όλα κλειδωμένα (όλες οι προεπιλογές ασφαλείας)
builder.Services.AddDoconut(options =>
{
options.LicenseContent = builder.Configuration["Doconut:License"] ?? "";
});
// Προσαρμοσμένες διαδρομές (π.χ. για αποφυγή σύγκρουσης διαδρομής)
builder.Services.AddDoconut(options =>
{
options.MiddlewarePath = "/docs-engine";
options.ResourcesPath = "/docs-assets";
});Όταν αλλάζετε το ResourcesPath, διατηρήστε το ResPath του widget πελάτη συγχρονισμένο (δείτε ViewerConfig).
MiddlewarePath δεν είναι αυτόματος χάρτης διαδρομών ASP.NET Core. Εάν το Doconut πρέπει να απαντά μόνο κάτω από προσαρμοσμένο πρόθεμα, τοποθετήστε το UseDoconut() σε αυτόν τον κλάδο (για παράδειγμα με app.Map("/docs-engine", branch => branch.UseDoconut())) και ορίστε το BasePath του πελάτη στην ίδια διεύθυνση URL.
Ήταν αυτή η σελίδα χρήσιμη;