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

bash
dotnet add package Doconut.NET8

Polecenie bez wersji instaluje najnowsze stabilne wydanie. Aby dokładnie odtworzyć bieżące wydanie 26.7.0, podaj wersję jako oddzielną opcję:

bash
dotnet add package Doconut.NET8 --version 26.7.0

Doconut.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.

csharp
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ślnaOpis
ShowDoconutInfofalseGdy true, żądanie bez token zwraca baner wersji zamiast 404. Przydatne jako szybka weryfikacja; wyłącz w środowisku produkcyjnym.
UnsafeModefalseGdy 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.
LicenseStreamnullLicencja jako strumień, odczytywana raz przy uruchomieniu.
ResetLicensefalseZarezerwowany 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.

csharp
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

Czy ta strona była pomocna?