Instalacja
Dodaj Doconut do swojego projektu .NET 8
Podstawowy podgląd Doconut dla .NET 8 jest dostarczany jako pojedynczy pakiet NuGet, który można podłączyć do dowolnej aplikacji ASP.NET Core. Opcjonalne wtyczki używają oddzielnych pakietów. Ta strona instaluje podstawowy pakiet i rejestruje middleware — minimalne wymagania przed pierwszym renderowaniem.
Zainstaluj pakiet
dotnet add package Doconut.NET8Polecenie bez wersji instaluje najnowsze stabilne wydanie. Aby dokładnie odtworzyć bieżące wydanie 26.7.0, podaj wersję jako oddzielną opcję:
dotnet add package Doconut.NET8 --version 26.7.0Doconut.NET8 jest identyfikatorem pakietu. Sufiks .26.7.0 należy do pobranej nazwy pliku Doconut.NET8.26.7.0.nupkg i nie jest częścią identyfikatora.
Zarejestruj Doconut
AddDoconut() jest jedynym punktem wejścia rejestracji — istnieje tylko jedna przeciążona metoda, która podłącza usługę Viewer, usługę licencji oraz infrastrukturę renderowania do kontenera DI.
Dwa wywołania middleware kończą konfigurację, a ich kolejność ma znaczenie: UseDoconutResources() musi być wywołane przed UseDoconut(). UseDoconut() jest middleware końcowym, więc wywołanie go jako pierwszego powoduje, że każde żądanie zasobu /doconut-res nigdy nie dociera do obsługi zasobów i zwraca 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();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 weryfikacja; wyłącz w środowisku produkcyjnym. |
UnsafeMode | false | Gdy true, pomija sprawdzenie bezpieczeństwa sesji ASP.NET przy żądaniach stron. Wyłącz w produkcji. |
MiddlewarePath | "/doconut" | Wartość koordynująca dla punktu końcowego obrazu strony. Jest walidowana, ale nie montuje gałęzi samodzielnie; utrzymuj ją zgodną z rzeczywistym mapowaniem UseDoconut() i BasePath klienta. |
ResourcesPath | "/doconut-res" | Miejsce, z którego serwowane są osadzone zasoby JS/CSS/obrazki. |
LicensePath | "" (empty string) | Ścieżka do pliku licencji. Pusta oznacza przejście do kolejnego źródła, a następnie automatyczne wyszukiwanie. |
LicenseContent | "" (empty string) | Surowa zawartość licencji — z zmiennej środowiskowej, menedżera tajemnic lub bazy danych. |
LicenseStream | null | Licencja jako strumień, odczytywana raz przy uruchomieniu. |
ResetLicense | false | Zarezerwowany znacznik kompatybilności. Obecne usługi .NET 8 odczytują licencję 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 pierwszeństwo przed LicensePath, które ma pierwszeństwo przed automatycznym wyszukiwaniem — zobacz License Setup.
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 podglądu
options.UnsafeMode = false; // utrzymaj zabezpieczenie sesji włączone
options.ShowDoconutInfo = false;
});Kolejne kroki
- Szybki start — otwórz swój pierwszy dokument i wyświetl go w przeglądarce.
- Konfiguracja licencji — gdzie Doconut szuka pliku licencji.
Czy ta strona była pomocna?