DoconutOptions
Διαμορφώστε τις υπηρεσίες Doconut
DoconutOptions (namespace Doconut) είναι το μοναδικό αντικείμενο διαμόρφωσης για ολόκληρο το SDK. Το διαμορφώνετε μία φορά, στην κλήση που περνάτε στο DoconutHost.Initialize στο Application_Start.
Doconut.DoconutHost.Initialize(options =>
{
options.LicensePath = HostingEnvironment.MapPath("~/wwwroot/Doconut.Viewer.lic");
options.UnsafeMode = false;
options.ShowDoconutInfo = false;
options.AddPlugin<Doconut.Plugins.Dicom.DicomPlugin>();
});Ιδιότητες
| Τύπος | Ιδιότητα | Προεπιλογή | Περιγραφή |
|---|---|---|---|
bool | UnsafeMode | false | Όταν false, το DocImage.axd εξυπηρετεί μια σελίδα μόνο στη συνεδρία ASP.NET που άνοιξε το έγγραφο (ή, σε φάρμα, στον περιηγητή με ένα υπογεγραμμένο εισιτήριο). Όταν true, εξυπηρετείται οποιοδήποτε αίτημα που μεταφέρει το διακριτικό. Αφήστε το false — δείτε Συνεδρίες & Ασφάλεια. |
bool | ShowDoconutInfo | false | Όταν true, ένα αίτημα DocImage.axd χωρίς διακριτικό απαντά Doconut <version> is running on <host> αντί για 404. Χρήσιμο ως έλεγχος καπνού· αφήστε το false στην παραγωγή. |
string | ResourcesPath | "/doconut-res" | Πρόθεμα URL υπό το οποίο το μοντέλο πόρων εξυπηρετεί τα ενσωματωμένα σενάρια, στυλ και εικόνες. |
string | LicensePath | "" | Πλήρης διαδρομή προς το αρχείο άδειας. Κενό → η επόμενη πηγή άδειας, έπειτα αυτόματη ανακάλυψη· αν δεν βρεθεί τίποτα → αξιολόγηση με υδατογράφημα χωρίς δυνατότητες. |
string | LicenseContent | "" | Ακατέργαστο περιεχόμενο άδειας (βάση δεδομένων, μεταβλητή περιβάλλοντος, αποθήκη μυστικών). Πρωταρχικό έναντι LicensePath. |
Stream? | LicenseStream | null | Άδεια ως ροή, διαβάζεται μία φορά κατά την εκκίνηση. Πρωταρχική έναντι και των άλλων πηγών. |
string | MiddlewarePath | "/doconut" | Δεν χρησιμοποιείται από το System.Web. Το σημείο τέλους της σελίδας είναι πάντα ο χειριστής DocImage.axd που δηλώνεται στο Web.config. Η τιμή εξακολουθεί να επικυρώνεται κατά την εκκίνηση (δείτε παρακάτω). |
bool | ResetLicense | false | Δεν χρησιμοποιείται. Η άδεια διαβάζεται μία φορά, στο DoconutHost.Initialize· επανακυκλώστε την ομάδα εφαρμογών μετά την αντικατάσταση μιας άδειας. |
DoconutPluginRegistry | PluginRegistry | — | Καταχωρητής μόνο για ανάγνωση των συνεισφορών plugin, γεμίζεται από AddPlugin<T>(). |
Προτεραιότητα άδειας: LicenseStream → LicenseContent → LicensePath → αυτόματη ανακάλυψη (δείτε Ρύθμιση Άδειας).
Μέθοδοι
AddPlugin<TPlugin>()
DoconutOptions AddPlugin<TPlugin>() where TPlugin : IDoconutPlugin, new()Καταχωρεί ένα plugin (Converter, DICOM). Fluent — επιστρέφει το αντικείμενο επιλογών. Η Σχόλιο και η Αναζήτηση είναι ενσωματωμένες λειτουργίες με άδεια και δεν το χρησιμοποιούν.
Εάν καμία ενεργή άδεια δεν χορηγεί τη δυνατότητα του plugin, το DoconutHost.Initialize ρίχνει το InvalidOperationException από το Application_Start, και ο ιστότοπος απαντά σε κάθε αίτημα με ένα κενό 500 μέχρι να διορθωθεί· το μήνυμα βρίσκεται στο αρχείο καταγραφής συμβάντων των Windows (δείτε Σύστημα Plugin).
Add…Widget()
DoconutOptions AddConverterWidget(Action<ConverterWidgetOptions>? configure = null)Τα ενσωματωμένα widgets είναι απενεργοποιημένα εξ ορισμού. Κάθε κλήση Add…Widget() ενεργοποιεί τα σημεία τέλους αυτού του widget στο DocImage.axd, και απαιτεί την αντίστοιχη plugin να είναι καταχωρημένη. Το μοντέλο πόρων εξυπηρετεί το script του widget είτε το έχετε ενεργοποιήσει είτε όχι, έτσι ένα widget που φορτώνει και σχεδιάζει αλλά απαντά 404 στην πρώτη του ενέργεια λείπει αυτή η κλήση. Το widget Converter τεκμηριώνεται στο Plugin Converter.
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 για μηδενική factory.
Επικύρωση εκκίνησης
DoconutHost.Initialize επικυρώνει τις επιλογές πριν δημιουργηθεί οτιδήποτε:
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.MiddlewarePath ελέγχεται παρόλο που το System.Web δεν το χρησιμοποιεί ποτέ, οπότε αφήστε το στην προεπιλογή του. Όπως κάθε εξαίρεση που ρίχνεται από Application_Start, μια αποτυχία επικύρωσης εμφανίζεται ως κενό 500 σε κάθε αίτημα, με το μήνυμα στο αρχείο καταγραφής συμβάντων των Windows.
Κοινές ρυθμίσεις
// Παραγωγή: ρητή άδεια, όλα τα υπόλοιπα στην ασφαλή προεπιλογή τους.
public static void ProductionLicense() =>
Doconut.DoconutHost.Initialize(options =>
{
options.LicenseContent = Environment.GetEnvironmentVariable("DOCONUT_LICENSE") ?? "";
});
// Διατηρήστε το viewer’s ResPath και τυχόν MVC
// IgnoreRoute σε συντονισμό με αυτό: \"/docs-assets\" σημαίνει ResPath: 'docs-assets/images'.
public static void CustomResourcePath() =>
Doconut.DoconutHost.Initialize(options =>
{
options.ResourcesPath = "/docs-assets";
});Όταν αλλάζετε το ResourcesPath, αλλάξτε τρία πράγματα μαζί: την επιλογή, το ResPath του widget ('docs-assets/images' για "/docs-assets"), και, στο MVC, το IgnoreRoute για τη διαδρομή πόρων (routes.IgnoreRoute("docs-assets/{*pathInfo}")). Το σημείο τέλους DocImage.axd δεν μετακινείται: η διαδρομή του ορίζεται από το χαρακτηριστικό path του χειριστή στο Web.config.
Ήταν αυτή η σελίδα χρήσιμη;