Встановлення

Додайте Doconut до вашого проєкту .NET 8

Базовий переглядач Doconut для .NET 8 постачається як один пакет NuGet, який підключається до будь‑якого застосунку ASP.NET Core. Додаткові плагіни використовують окремі пакети. На цій сторінці встановлюється базовий пакет і реєструється проміжне ПЗ — мінімум, необхідний перед вашим першим рендерингом.

Встановіть пакет

bash
dotnet add package Doconut.NET8

Команда без вказання версії встановлює останній стабільний реліз. Щоб точно відтворити поточний реліз 26.7.0, передайте версію як окрему опцію:

bash
dotnet add package Doconut.NET8 --version 26.7.0

Doconut.NET8 — це ідентифікатор пакету. Суфікс .26.7.0 належить завантаженому файлу Doconut.NET8.26.7.0.nupkg і не є частиною ідентифікатора.

Зареєструйте Doconut

AddDoconut() — єдиний точковий метод реєстрації; існує лише один перегрузок, і він підключає сервіс Viewer, сервіс ліцензування та інфраструктуру рендерингу до контейнера DI.

Два виклики проміжного ПЗ завершують налаштування, і їх порядок має значення: UseDoconutResources() має виконуватись перед UseDoconut(). UseDoconut() є термінальним проміжним ПЗ, тому його виклик спочатку означає, що кожен запит до ресурсу /doconut-res ніколи не досягає обробника ресурсів і повертає 404. Підключення сеансу також необхідне — стандартна безпека документів Doconut перевіряє кожен запит сторінки проти стану сеансу ASP.NET.

csharp
builder.Services.AddDoconut(options =>
{
    options.LicensePath = "Doconut.Viewer.lic";
});
builder.Services.AddDistributedMemoryCache(); // стан сеансу потребує кешу (MVC/Razor Pages вже додає один)
builder.Services.AddSession(); // Безпека документів Doconut працює на базі стану сеансу ASP.NET

app.UseSession();          // викликайте UseSession() перед UseDoconut()
app.UseDoconutResources(); // повинно бути зареєстровано перед UseDoconut()
app.UseDoconut();

Усі параметри

DoconutOptions приймає наступні налаштовувані властивості. Кожна з них є необов’язковою — нижче наведені значення за замовчуванням застосовуються, коли властивість залишена незмінною.

ВластивістьЗа замовчуваннямОпис
ShowDoconutInfofalseКоли true, запит без token повертає банер версії замість 404. Корисно для швидкої перевірки; вимикайте у продакшені.
UnsafeModefalseКоли true, пропускає перевірку безпеки ASP.NET‑session при запитах сторінок. Вимикайте у продакшені.
MiddlewarePath"/doconut"Значення координації для кінцевої точки сторінка‑зображення. Воно перевіряється, але самостійно не монтує гілку; тримайте його узгодженим з фактичним мапінгом UseDoconut() та BasePath клієнта.
ResourcesPath"/doconut-res"Звідки подаються вбудовані ресурси JS/CSS/зображення.
LicensePath"" (empty string)Шлях до файлу ліцензії. Порожнє значення означає переходити до наступного джерела, потім автоматичний пошук.
LicenseContent"" (empty string)Сирий вміст ліцензії — з змінної середовища, менеджера секретів або бази даних.
LicenseStreamnullЛіцензія у вигляді потоку, читається один раз під час запуску.
ResetLicensefalseЗарезервований прапорець сумісності. Поточні служби .NET 8 читають ліцензію під час AddDoconut(); перезапустіть застосунок після заміни ліцензії.

Пріоритет ліцензій, коли встановлено більше одного джерела: LicenseStream переважає LicenseContent, який переважає LicensePath, який переважає автоматичний пошук — див. Налаштування ліцензії.

csharp
builder.Services.AddDoconut(options =>
{
    options.LicensePath     = "Doconut.Viewer.lic";
    options.MiddlewarePath  = "/doconut";     // координуйте з мапуванням застосунку та BasePath клієнта
    options.ResourcesPath   = "/doconut-res"; // звідки подаються JS/CSS/зображення переглядача
    options.UnsafeMode      = false;          // зберігайте безпеку сеансу ввімкненою
    options.ShowDoconutInfo = false;
});

Наступні кроки

Чи була ця сторінка корисною?