Instalacja
Dodaj Doconut do swojego projektu .NET Standard 2.1
Podstawowy przegląd Doconut dla .NET Standard jest dostarczany jako pojedynczy pakiet NuGet, który można podłączyć do dowolnej aplikacji ASP.NET Core. Opcjonalne wtyczki korzystają z oddzielnych pakietów. Ta strona instaluję podstawowy pakiet, potwierdza, że Twój host może go używać, i rejestruje middleware — minimalny wymóg przed pierwszym renderowaniem.
Sprawdź najpierw framework hosta
Biblioteka celuje w netstandard2.1. To jest węższy kontrakt niż poprzednia wersja netstandard2.0 i jest to pierwsza rzecz do zweryfikowania:
| Host | Obsługiwane |
|---|---|
| .NET Core 3.0 lub nowszy, w tym .NET 5/6/7/8 | Tak |
| .NET Framework (dowolna wersja) | Nie — netstandard2.1 nie może być używany przez .NET Framework |
Jeśli aplikacja działa na .NET Framework, to nie jest właściwy pakiet. Użyj zamiast tego Doconut.NETFramework; od wersji 26.9.0 wymaga .NET Framework 4.7.2. Aplikacje referencyjne dostarczane z tym wydaniem celują w net8.0.
Zainstaluj pakiet
dotnet add package Doconut.NETStandardPolecenie bez wersji instaluję najnowsze stabilne wydanie. Aby dokładnie odtworzyć bieżące wydanie 26.8.0, przekaż wersję jako oddzielną opcję:
dotnet add package Doconut.NETStandard --version 26.8.0Doconut.NETStandard jest identyfikatorem pakietu. Przyrostek .26.8.0 należy do pobranego pliku Doconut.NETStandard.26.8.0.nupkg i nie jest częścią ID.
Numer wersji określa generację
Ma to tutaj większe znaczenie niż nazwa pakietu. Obie generacje biblioteki .NET Standard publikowane są pod tym samym ID pakietu, a jedynie wersja je odróżnia:
| Wersja | Docelowy | API |
|---|---|---|
| 26.7.0 i niższe | netstandard2.0 | poprzednia integracja |
| 26.8.0 i wyższe | netstandard2.1 | integracja opisana tutaj |
Nie istnieje shim kompatybilności ani pakiet równoległy. Zwiększenie wersji jest aktualizacją, a kompilator natychmiast zgłosi różnice w API.
Nie wybieraj dokumentacji wyłącznie na podstawie nazwy pakietu:
new Viewer(_cache, _accessor, …),UnSafeMode, synchroniczneOpenDocument(...),viewer.InitCache(),UseDoconutWebFarmoraz ręcznie skopiowane skrypty przeglądarki identyfikują poprzednią integrację;AddDoconut(),UseDoconutResources(), wstrzykniętyVieweriOpenDocumentAsync(...)identyfikują obecną integrację opisaną tutaj.
Przetłumaczony poprzedni podręcznik konfiguracji nadal jest dostępny. Użyj przewodnika migracji, aby zmienić generacje; aktualizacja pakietu nie konwertuje automatycznie startu, czasu życia przeglądarki ani zasobów przeglądarki.
Zarejestruj Doconut
AddDoconut() jest jedynym punktem wejścia rejestracji — istnieje tylko jedna przeciążona metoda i ona podłącza usługę Viewer, usługę licencji oraz infrastrukturę renderowania do kontenera DI.
Dwa wywołania middleware kończą konfigurację i ich kolejność ma znaczenie: UseDoconutResources() musi być wywołane przed UseDoconut(). UseDoconut() jest middleware terminalnym, więc wywołanie go jako pierwszego powoduje, że każde żądanie zasobu /doconut-res nie dociera do obsługi zasobów i kończy się 404. Połączenie sesji jest również wymagane — domyślne zabezpieczenie dokumentów Doconut weryfikuje każde żądanie strony względem stanu sesji ASP.NET.
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
});
builder.Services.AddDistributedMemoryCache(); // stan sesji wymaga pamięci podręcznej (MVC/Razor Pages już dodają jedną)
builder.Services.AddSession(); // zabezpieczenie dokumentów Doconut opiera się na stanie sesji ASP.NET
app.UseSession(); // wywołaj UseSession() przed UseDoconut()
app.UseDoconutResources(); // musi być zarejestrowane przed UseDoconut()
app.UseDoconut();Przestrzenie nazw
Typy konfiguracyjne nie są już rozproszone po czterech przestrzeniach nazw. W tym wydaniu prawie wszystko znajduje się w głównej przestrzeni nazw Doconut:
using Doconut; // Viewer, DoconutOptions, DocOptions, all format configs
using Doconut.Middleware; // AddDoconut, UseDoconut, UseDoconutResources
using Doconut.Clouds; // cloud and file-share configs
using Doconut.Configs.Conversion; // ConversionTargetSame nazwy typów się nie zmieniły — PdfConfig, WordConfig, ExcelConfig, CssConfig, ScriptConfig i pozostałe nadal istnieją. Jeśli przenosisz istniejącą aplikację, większość plików wymaga jedynie usunięcia dwóch linii using; zobacz przewodnik migracji.
Wszystkie opcje
DoconutOptions przyjmuje następujące konfigurowalne właściwości. Każda z nich jest opcjonalna — poniższe wartości domyślne mają zastosowanie, gdy właściwość nie zostanie ustawiona.
| Właściwość | Domyślna | Opis |
|---|---|---|
ShowDoconutInfo | false | Gdy true, żądanie bez token zwraca baner wersji zamiast 404. Przydatne jako szybka kontrola; wyłącz w środowisku produkcyjnym. |
UnsafeMode | false | Gdy true, pomija sprawdzenie bezpieczeństwa sesji ASP.NET przy żądaniach stron. Wyłącz w produkcji. Zwróć uwagę na pisownię — poprzednia biblioteka nazywała to UnSafeMode. |
MiddlewarePath | "/doconut" | Wartość koordynująca punkt końcowy obrazu strony. Jest walidowana, ale nie montuje własnej gałęzi; utrzymaj ją zgodną z rzeczywistym mapowaniem UseDoconut() i BasePath klienta. |
ResourcesPath | "/doconut-res" | Miejsce, z którego serwowane są osadzone zasoby JS/CSS/obrazy. |
LicensePath | "" (pusty ciąg) | Ścieżka do pliku licencji. Pusty ciąg oznacza przejście do kolejnego źródła, a następnie automatyczne wyszukiwanie. |
LicenseContent | "" (pusty ciąg) | Surowa zawartość licencji — z zmiennej środowiskowej, menedżera sekretów lub bazy danych. |
LicenseStream | null | Licencja jako strumień, odczytywana raz przy starcie. |
ResetLicense | false | Zarezerwowany znacznik kompatybilności. Licencja jest odczytywana podczas AddDoconut(); po wymianie licencji uruchom aplikację ponownie. |
Priorytet licencji, gdy ustawiono więcej niż jedno źródło: LicenseStream ma pierwszeństwo przed LicenseContent, które ma przed LicensePath, a to przed automatycznym wyszukiwaniem — zobacz Ustawienia licencji.
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
options.MiddlewarePath = "/doconut"; // koordynuj z mapowaniem aplikacji i BasePath klienta
options.ResourcesPath = "/doconut-res"; // skąd serwowane są JS/CSS/obrazy przeglądarki
options.UnsafeMode = false; // utrzymaj zabezpieczenie sesji
options.ShowDoconutInfo = false;
});Kolejne kroki
- Szybki start — otwórz swój pierwszy dokument i wyświetl go w przeglądarce.
- Ustawienia licencji — gdzie Doconut szuka pliku licencji.
Czy ta strona była pomocna?