Instalasi
Tambahkan Doconut ke proyek .NET Standard 2.1 Anda
Penampil Doconut dasar untuk .NET Standard tersedia sebagai satu paket NuGet yang dapat dipasang pada aplikasi ASP.NET Core apa pun. Plugin opsional menggunakan paket terpisah. Halaman ini menginstal paket dasar, mengonfirmasi host Anda dapat menggunakannya, dan mendaftarkan middleware — hal minimum yang diperlukan sebelum render pertama Anda.
Periksa kerangka kerja host terlebih dahulu
Perpustakaan menargetkan netstandard2.1. Itu merupakan kontrak yang lebih sempit dibandingkan build netstandard2.0 sebelumnya, dan hal pertama yang harus diverifikasi:
| Host | Didukung |
|---|---|
| .NET Core 3.0 atau lebih baru, termasuk .NET 5/6/7/8 | Ya |
| .NET Framework (semua versi) | Tidak — netstandard2.1 tidak dapat dikonsumsi oleh .NET Framework |
Jika aplikasi berjalan pada .NET Framework, ini bukan paket yang tepat. Gunakan Doconut.NETFramework sebagai gantinya; mulai dari 26.9.0 paket ini memerlukan .NET Framework 4.7.2. Aplikasi referensi yang disertakan dengan rilis ini menargetkan net8.0.
Instal paket
dotnet add package Doconut.NETStandardPerintah tanpa versi menginstal rilis stabil terbaru. Untuk mereproduksi rilis 26.8.0 secara tepat, berikan versi sebagai opsi terpisah:
dotnet add package Doconut.NETStandard --version 26.8.0Doconut.NETStandard adalah ID paket. Akhiran .26.8.0 merupakan bagian dari nama berkas Doconut.NETStandard.26.8.0.nupkg yang diunduh dan bukan bagian dari ID.
Nomor versi adalah generasinya
Hal ini lebih penting di sini daripada nama paket. Kedua generasi perpustakaan .NET Standard dipublikasikan dengan ID paket yang sama, dan hanya versi yang membedakannya:
| Versi | Target | API |
|---|---|---|
| 26.7.0 dan lebih rendah | netstandard2.0 | integrasi sebelumnya |
| 26.8.0 dan di atas | netstandard2.1 | integrasi yang didokumentasikan di sini |
Tidak ada shim kompatibilitas dan tidak ada paket berdampingan. Menaikkan versi adalah peningkatan, dan kompiler akan melaporkan perbedaan API secara langsung.
Jangan pilih dokumentasi hanya dari nama paket:
new Viewer(_cache, _accessor, …),UnSafeMode, sinkronOpenDocument(...),viewer.InitCache(),UseDoconutWebFarm, dan skrip viewer yang disalin secara manual mengidentifikasi integrasi sebelumnya;AddDoconut(),UseDoconutResources(), sebuahVieweryang di‑inject, danOpenDocumentAsync(...)mengidentifikasi integrasi saat ini yang didokumentasikan di sini.
Manual pengaturan sebelumnya yang telah diterjemahkan manual pengaturan sebelumnya tetap tersedia. Gunakan panduan migrasi untuk mengubah generasi; pembaruan paket tidak secara otomatis mengubah startup, masa pakai viewer, atau sumber daya peramban.
Daftarkan Doconut
AddDoconut() adalah satu‑satunya titik masuk pendaftaran — ada satu overload, dan ia menghubungkan layanan Viewer, layanan lisensi, serta infrastruktur rendering ke dalam kontainer DI.
Dua pemanggilan middleware menyelesaikan pengaturan, dan urutannya penting: UseDoconutResources() harus dijalankan sebelum UseDoconut(). UseDoconut() adalah middleware terminal, sehingga memanggilnya terlebih dahulu berarti setiap permintaan ke aset /doconut-res tidak pernah mencapai penangan sumber daya dan menghasilkan 404. Pengkabelan sesi juga diperlukan — keamanan dokumen Doconut default memvalidasi setiap permintaan halaman terhadap status sesi ASP.NET.
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
});
builder.Services.AddDistributedMemoryCache(); // status sesi membutuhkan cache (MVC/Razor Pages sudah menambah satu)
builder.Services.AddSession(); // keamanan dokumen Doconut bergantung pada status sesi ASP.NET
app.UseSession(); // panggil UseSession() sebelum UseDoconut()
app.UseDoconutResources(); // harus didaftarkan sebelum UseDoconut()
app.UseDoconut();Namespace
Tipe konfigurasi tidak lagi tersebar di empat namespace. Pada rilis ini hampir semuanya berada di namespace root Doconut:
using Doconut; // Viewer, DoconutOptions, DocOptions, semua konfigurasi format
using Doconut.Middleware; // AddDoconut, UseDoconut, UseDoconutResources
using Doconut.Clouds; // konfigurasi cloud dan berbagi file
using Doconut.Configs.Conversion; // ConversionTargetNama tipe itu sendiri tidak berubah — PdfConfig, WordConfig, ExcelConfig, CssConfig, ScriptConfig dan sisanya masih ada. Jika Anda memindahkan aplikasi yang ada, sebagian besar file tidak memerlukan apa‑apa kecuali dua baris using yang dihapus; lihat panduan migrasi.
Semua opsi
DoconutOptions menerima properti yang dapat diatur berikut ini. Setiap properti bersifat opsional — nilai default di bawah ini berlaku bila properti dibiarkan kosong.
| Properti | Default | Deskripsi |
|---|---|---|
ShowDoconutInfo | false | Ketika true, permintaan tanpa token mengembalikan spanduk versi alih-alih 404. Berguna sebagai pemeriksaan cepat; matikan di produksi. |
UnsafeMode | false | Ketika true, melewati pemeriksaan keamanan sesi ASP.NET pada permintaan halaman. Matikan di produksi. Perhatikan ejaan — perpustakaan sebelumnya menyebut ini UnSafeMode. |
MiddlewarePath | "/doconut" | Nilai koordinasi untuk endpoint gambar‑halaman. Nilai ini divalidasi, tetapi tidak secara otomatis membuat cabang; pertahankan selaras dengan pemetaan UseDoconut() yang sebenarnya dan BasePath klien. |
ResourcesPath | "/doconut-res" | Tempat sumber daya JS/CSS/gambar yang disematkan disajikan dari. |
LicensePath | "" (string kosong) | Jalur ke berkas lisensi. Kosong berarti melanjutkan ke sumber berikutnya, lalu pencarian otomatis. |
LicenseContent | "" (string kosong) | Konten lisensi mentah — dari variabel lingkungan, pengelola rahasia, atau basis data. |
LicenseStream | null | Lisensi sebagai aliran, dibaca sekali saat startup. |
ResetLicense | false | Bendera kompatibilitas yang disiapkan. Lisensi dibaca selama AddDoconut(); restart aplikasi setelah mengganti lisensi. |
Prioritas lisensi ketika lebih dari satu sumber diatur: LicenseStream mengalahkan LicenseContent mengalahkan LicensePath mengalahkan pencarian otomatis — lihat Pengaturan Lisensi.
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
options.MiddlewarePath = "/doconut"; // koordinasikan dengan pemetaan aplikasi dan BasePath klien
options.ResourcesPath = "/doconut-res"; // tempat JS/CSS/gambar viewer disajikan
options.UnsafeMode = false; // pertahankan keamanan sesi tetap aktif
options.ShowDoconutInfo = false;
});Langkah selanjutnya
- Mulai Cepat — buka dokumen pertama Anda dan render di peramban.
- Pengaturan Lisensi — tempat Doconut mencari berkas lisensi Anda.
Apakah halaman ini membantu?