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

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

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

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

bash
dotnet add package Doconut.NET6

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

bash
dotnet add package Doconut.NET6 --version 26.7.0

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

Визначте інтеграцію перед оновленням

Doconut.NET6 використовувався як для класичної, так і для поточної інтеграції .NET 6. Не обирайте документацію лише за назвою пакету:

  • DocImage.axd, new Viewer(_cache, _accessor, ...), синхронний OpenDocument(...) та вручну скопійовані скрипти переглядача вказують на класичну інтеграцію;
  • AddDoconut(), UseDoconutResources(), інжектований Viewer та OpenDocumentAsync(...) вказують на поточну інтеграцію, задокументовану тут.

Перекладений класичний посібник з налаштування залишається доступним. Скористайтеся посібником з міграції, щоб змінити покоління; звичайне оновлення пакету не конвертує автоматично стартовий код, життєвий цикл переглядача чи ресурси браузера.

Реєстрація Doconut

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

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

csharp
builder.Services.AddDoconut(options =>
{
    options.LicensePath = "Doconut.Viewer.lic";
});
builder.Services.AddSession(); // Doconut document security rides on ASP.NET session state

app.UseSession();          // call UseSession() before UseDoconut()
app.UseDoconutResources(); // must be registered before UseDoconut()
app.UseDoconut();

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

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

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

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

csharp
builder.Services.AddDoconut(options =>
{
    options.LicensePath     = "Doconut.Viewer.lic";
    options.MiddlewarePath  = "/doconut";     // coordinate with app mapping and client BasePath
    options.ResourcesPath   = "/doconut-res"; // where the viewer's JS/CSS/images are served from
    options.UnsafeMode      = false;          // keep session security on
    options.ShowDoconutInfo = false;
});

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

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