Встановлення
Додайте Doconut до вашого проєкту .NET Standard 2.1
Базовий переглядач Doconut для .NET Standard постачається в одному пакеті NuGet, який підключається до будь‑якого застосунку ASP.NET Core. Додаткові плагіни використовують окремі пакети. На цій сторінці встановлюється базовий пакет, перевіряється, чи може ваш хост його споживати, та реєструється проміжне ПЗ — мінімум, необхідний перед вашим першим рендерингом.
Спочатку перевірте фреймворк хоста
Бібліотека орієнтується на netstandard2.1. Це більш обмежений контракт, ніж попередня збірка netstandard2.0, і це перше, що треба перевірити:
| Хост | Підтримується |
|---|---|
| .NET Core 3.0 або новіший, включаючи .NET 5/6/7/8 | Так |
| .NET Framework (будь‑яка версія) | Ні — netstandard2.1 не може бути використаний у .NET Framework |
Якщо застосунок працює на .NET Framework, це не правильний пакет. Використайте Doconut.NETFramework замість нього; починаючи з 26.9.0 він вимагає .NET Framework 4.7.2. Додатки‑зразки, що постачаються з цим випуском, орієнтуються на net8.0.
Встановіть пакет
dotnet add package Doconut.NETStandardКоманда без вказання версії встановлює останню стабільну версію. Щоб точно відтворити поточний випуск 26.8.0, передайте версію як окрему опцію:
dotnet add package Doconut.NETStandard --version 26.8.0Doconut.NETStandard — це ідентифікатор пакету. Суфікс .26.8.0 належить до завантаженого файлу Doconut.NETStandard.26.8.0.nupkg і не є частиною ідентифікатора.
Номер версії — це покоління
Це важливіше тут, ніж назва пакету. Обидва покоління бібліотеки .NET Standard публікуються під одним і тим же ідентифікатором пакету, і лише версія розрізняє їх:
| Версія | Ціль | API |
|---|---|---|
| 26.7.0 та нижче | netstandard2.0 | попередня інтеграція |
| 26.8.0 та вище | netstandard2.1 | інтеграція, задокументована тут |
Не існує сумісного shim і пакету, що працює паралельно. Підвищення версії є оновленням, і компілятор одразу повідомить про різниці в API.
Не обирайте документацію лише за назвою пакету:
new Viewer(_cache, _accessor, …),UnSafeMode, синхроннийOpenDocument(...),viewer.InitCache(),UseDoconutWebFarmта вручну скопійовані скрипти переглядача ідентифікують попередню інтеграцію;AddDoconut(),UseDoconutResources(), інжектованийViewerтаOpenDocumentAsync(...)ідентифікують поточну інтеграцію, задокументовану тут.
Перекладений попередній посібник з налаштування залишається доступним. Скористайтеся посібником з міграції, щоб змінити покоління; оновлення пакету не перетворює автоматично старт, життєвий цикл переглядача чи ресурси браузера.
Зареєструйте Doconut
AddDoconut() — єдиний точка реєстрації; існує один перевантажений варіант, і він підключає сервіс Viewer, сервіс ліцензії та інфраструктуру рендерингу до контейнера DI.
Два виклики проміжного ПЗ завершують налаштування, і їх порядок важливий: UseDoconutResources() має виконуватись перед UseDoconut(). UseDoconut() — це термінальний проміжний ПЗ, тому його виклик спочатку призводить до того, що кожен запит до ресурсу /doconut-res ніколи не досягає обробника ресурсів і повертає 404. Підключення сесії також необхідне — стандартна безпека документів Doconut перевіряє кожен запит сторінки проти стану сесії ASP.NET.
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();Простори імен
Типи конфігурації більше не розподілені по чотирьох просторах імен. У цьому випуску майже все знаходиться у кореневому просторі імен Doconut:
using Doconut; // Viewer, DoconutOptions, DocOptions, всі конфігурації форматів
using Doconut.Middleware; // AddDoconut, UseDoconut, UseDoconutResources
using Doconut.Clouds; // конфігурації хмари та спільного доступу до файлів
using Doconut.Configs.Conversion; // ConversionTargetСамі назви типів не змінилися — PdfConfig, WordConfig, ExcelConfig, CssConfig, ScriptConfig та інші залишаються. Якщо ви переносите існуючий застосунок, більшості файлів потрібні лише два видалені рядки using; дивіться посібник з міграції.
Усі параметри
DoconutOptions приймає наступні налаштовувані властивості. Кожна з них є необов’язковою — нижче наведені значення за замовчуванням застосовуються, якщо властивість не вказана.
| Властивість | За замовчуванням | Опис |
|---|---|---|
ShowDoconutInfo | false | Коли true, запит без token повертає банер з версією замість 404. Корисно для швидкої перевірки; вимикайте у продакшн. |
UnsafeMode | false | Коли true, пропускає перевірку безпеки ASP.NET‑session при запитах сторінок. Вимикайте у продакшн. Зауважте написання — у попередній бібліотеці це називалося UnSafeMode. |
MiddlewarePath | "/doconut" | Значення координації для кінцевої точки сторінка‑зображення. Перевіряється, але не створює гілку самостійно; тримайте його узгодженим з фактичним маршрутом UseDoconut() та BasePath клієнта. |
ResourcesPath | "/doconut-res" | Шлях, звідки подаються вбудовані ресурси JS/CSS/зображення. |
LicensePath | "" (empty string) | Шлях до файлу ліцензії. Порожнє означає переходити до наступного джерела, потім автоматичний пошук. |
LicenseContent | "" (empty string) | Необроблений вміст ліцензії — з змінної середовища, менеджера секретів або бази даних. |
LicenseStream | null | Ліцензія у вигляді потоку, читається один раз під час запуску. |
ResetLicense | false | Зарезервований прапорець сумісності. Ліцензія читається під час AddDoconut(); перезапустіть застосунок після заміни ліцензії. |
Пріоритетність ліцензій, коли встановлено більше одного джерела: LicenseStream переважає LicenseContent, який переважає LicensePath, який переважає автоматичний пошук — див. Налаштування ліцензії.
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;
});Наступні кроки
- Швидкий старт — відкрийте ваш перший документ і відобразіть його у браузері.
- Налаштування ліцензії — де Doconut шукає ваш файл ліцензії.
Чи була ця сторінка корисною?