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 mana 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 .NET 6 klasik dan saat ini. Jangan pilih dokumentasi hanya berdasarkan nama paket:

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

Manual pengaturan klasik yang diterjemahkan manual pengaturan klasik masih tersedia. Gunakan panduan migrasi untuk mengubah generasi; pembaruan paket normal tidak secara otomatis mengonversi startup, masa hidup penampil, 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. Penyambungan sesi juga diperlukan — keamanan dokumen default Doconut memvalidasi setiap permintaan halaman terhadap status sesi 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();

Semua opsi

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

PropertiDefaultDeskripsi
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; pertahankan agar selaras dengan pemetaan UseDoconut() yang sebenarnya dan BasePath klien.
ResourcesPath"/doconut-res"Tempat sumber daya JS/CSS/gambar yang disematkan 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 Pengaturan Lisensi.

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;
});

Langkah selanjutnya

Apakah halaman ini membantu?