Instalasi

Tambahkan Doconut ke proyek .NET 6 Anda

Penampil Doconut dasar untuk .NET 6 hadir sebagai satu paket NuGet yang dapat dipasang ke aplikasi ASP.NET Core apa pun. Plugin opsional menggunakan paket terpisah. Halaman ini menginstal paket dasar dan mendaftarkan middleware — minimum yang diperlukan sebelum render pertama Anda.

Instal paket

bash
dotnet add package Doconut.NET6

Perintah tanpa versi menginstal rilis stabil terbaru. Untuk mereproduksi rilis 26.7.0 saat ini secara tepat, berikan versi sebagai opsi terpisah:

bash
dotnet add package Doconut.NET6 --version 26.7.0

Doconut.NET6 adalah ID paket. Akhiran .26.7.0 merupakan bagian dari nama file yang diunduh Doconut.NET6.26.7.0.nupkg dan bukan bagian dari ID.

Identifikasi integrasi sebelum memperbarui

ID paket Doconut.NET6 telah digunakan oleh integrasi klasik dan integrasi .NET 6 saat ini. Jangan pilih dokumentasi hanya berdasarkan nama paket:

  • DocImage.axd, new Viewer(_cache, _accessor, ...), sinkron OpenDocument(...), dan skrip penampil yang disalin secara manual mengidentifikasi integrasi klasik;
  • AddDoconut(), UseDoconutResources(), sebuah Viewer yang diinjeksikan, dan OpenDocumentAsync(...) mengidentifikasi integrasi saat ini yang didokumentasikan di sini.

Manual penyiapan klasik yang diterjemahkan tetap tersedia. Gunakan panduan migrasi untuk mengubah generasi; pembaruan paket normal tidak mengonversi startup, masa hidup penampil, atau sumber daya peramban secara otomatis.

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 penyiapan, 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. Penyambungan sesi juga diperlukan — keamanan dokumen Doconut default memvalidasi setiap permintaan halaman terhadap status sesi ASP.NET.

csharp
builder.Services.AddDoconut(options =>
{
    options.LicensePath = "Doconut.Viewer.lic";
});
builder.Services.AddDistributedMemoryCache(); // status sesi membutuhkan cache (MVC/Razor Pages sudah menambahkannya)
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();

Semua opsi

DoconutOptions menerima properti yang dapat diatur berikut ini. Semua bersifat opsional — nilai bawaan di bawah berlaku ketika properti dibiarkan tidak diatur.

PropertiBawaanDeskripsi
ShowDoconutInfofalseKetika true, permintaan tanpa token mengembalikan banner versi alih‑alih 404. Berguna sebagai pemeriksaan cepat; matikan di produksi.
UnsafeModefalseKetika true, melewati pemeriksaan keamanan sesi ASP.NET pada permintaan halaman. Matikan di produksi.
MiddlewarePath"/doconut"Nilai koordinasi untuk endpoint halaman‑gambar. Nilai ini divalidasi, tetapi tidak membuat cabang sendiri; tetap selaraskan dengan pemetaan UseDoconut() yang sebenarnya dan BasePath klien.
ResourcesPath"/doconut-res"Lokasi dimana sumber daya JS/CSS/gambar yang tersemat disajikan.
LicensePath"" (empty string)Jalur ke file lisensi. Kosong berarti melanjutkan ke sumber berikutnya, lalu pencarian otomatis.
LicenseContent"" (empty string)Konten lisensi mentah — dari variabel lingkungan, manajer rahasia, atau basis data.
LicenseStreamnullLisensi sebagai aliran, dibaca sekali saat startup.
ResetLicensefalseBendera kompatibilitas yang disiapkan. Layanan .NET 6 saat ini membaca lisensi selama AddDoconut(); restart aplikasi setelah mengganti lisensi.

Prioritas lisensi ketika lebih dari satu sumber diatur: LicenseStream mengalahkan LicenseContent mengalahkan LicensePath mengalahkan pencarian otomatis — lihat Penyiapan Lisensi.

csharp
builder.Services.AddDoconut(options =>
{
    options.LicensePath     = "Doconut.Viewer.lic";
    options.MiddlewarePath  = "/doconut";     // koordinasikan dengan pemetaan aplikasi dan BasePath klien
    options.ResourcesPath   = "/doconut-res"; // lokasi dimana JS/CSS/gambar penampil disajikan
    options.UnsafeMode      = false;          // pertahankan keamanan sesi aktif
    options.ShowDoconutInfo = false;
});

Langkah selanjutnya

Apakah halaman ini membantu?