Instalacja

Dodaj Doconut do swojego projektu .NET 6

Podstawowa przeglądarka Doconut dla .NET 6 jest dostarczana jako pojedynczy pakiet NuGet, który integruje się z dowolną aplikacją ASP.NET Core. Opcjonalne wtyczki używają oddzielnych pakietów. Ta strona instaluję podstawowy pakiet i rejestruje middleware — minimalne wymagania przed pierwszym renderowaniem.

Zainstaluj pakiet

bash
dotnet add package Doconut.NET6

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

bash
dotnet add package Doconut.NET6 --version 26.7.0

Doconut.NET6 jest identyfikatorem pakietu. Przyrostek .26.7.0 należy do pobranego pliku Doconut.NET6.26.7.0.nupkg i nie jest częścią identyfikatora.

Zidentyfikuj integrację przed aktualizacją

Identyfikator pakietu Doconut.NET6 był używany zarówno w klasycznej, jak i bieżącej integracji .NET 6. Nie wybieraj dokumentacji wyłącznie na podstawie nazwy pakietu:

  • DocImage.axd, new Viewer(_cache, _accessor, ...), synchronous OpenDocument(...) i ręcznie skopiowane skrypty przeglądarki identyfikują klasyczną integrację;
  • AddDoconut(), UseDoconutResources(), wstrzyknięty Viewer i OpenDocumentAsync(...) identyfikują bieżącą integrację opisaną tutaj.

Przetłumaczony klasyczny podręcznik konfiguracji jest nadal dostępny. Skorzystaj z przewodnika migracji, aby zmienić generacje; zwykła aktualizacja pakietu nie konwertuje automatycznie uruchamiania, czasu życia przeglądarki ani zasobów przeglądarki.

Zarejestruj Doconut

AddDoconut() jest jedynym punktem wejścia rejestracji — istnieje pojedyncze przeciążenie, które 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ć uruchomione przed UseDoconut(). UseDoconut() jest middleware terminalnym, 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 dokumentu 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ż ją dodają)
builder.Services.AddSession(); // zabezpieczenie dokumentu 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ślnieOpis
ShowDoconutInfofalseGdy true, żądanie bez token zwraca baner wersji zamiast 404. Przydatne jako szybka weryfikacja; wyłącz w produkcji.
UnsafeModefalseGdy true, pomija sprawdzanie bezpieczeństwa sesji ASP.NET przy żądaniach stron. Wyłącz w produkcji.
MiddlewarePath"/doconut"Wartość koordynująca dla punktu końcowego strony-obrazka. Jest walidowana, ale nie montuje gałęzi samodzielnie; utrzymuj ją zgodną z rzeczywistym mapowaniem UseDoconut() oraz BasePath klienta.
ResourcesPath"/doconut-res"Skąd serwowane są osadzone zasoby JS/CSS/obrazy.
LicensePath"" (empty string)Ścieżka do pliku licencji. Pusty oznacza przejście do następnego źródła, a następnie automatyczne wyszukiwanie.
LicenseContent"" (empty string)Surowa zawartość licencji — z zmiennej środowiskowej, menedżera sekretów lub bazy danych.
LicenseStreamnullLicencja jako strumień, odczytywana raz przy uruchomieniu.
ResetLicensefalseZarezerwowany znacznik kompatybilności. Bieżące usługi .NET 6 odczytują licencję podczas AddDoconut(); uruchom ponownie aplikację po wymianie licencji.

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 Konfiguracja licencji.

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ą zasoby JS/CSS/obrazy przeglądarki
    options.UnsafeMode      = false;          // utrzymaj bezpieczeństwo sesji
    options.ShowDoconutInfo = false;
});

Kolejne kroki

Czy ta strona była pomocna?