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

Додайте 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.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-сесії при запитах сторінок. У продакшн вимикайте.
MiddlewarePath"/doconut"Значення координації для кінцевої точки page-image. Воно перевіряється, але не створює гілку самостійно; тримайте його узгодженим з фактичним мапінгом 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";     // узгодьте з мапінгом застосунку та клієнтським BasePath
    options.ResourcesPath   = "/doconut-res"; // звідки подаються JS/CSS/зображення переглядача
    options.UnsafeMode      = false;          // залиште безпеку сесії ввімкненою
    options.ShowDoconutInfo = false;
});

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

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