การติดตั้ง
เพิ่ม Doconut ไปยังโครงการ .NET 8 ของคุณ
Base Doconut viewer สำหรับ .NET 8 มาพร้อมกับ NuGet package เดียวที่สามารถเชื่อมต่อกับแอปพลิเคชัน ASP.NET Core ใดก็ได้ ปลั๊กอินเสริมจะใช้แพคเกจแยกต่างหาก หน้านี้จะทำการติดตั้งแพคเกจพื้นฐานและลงทะเบียน middleware — ขั้นตอนขั้นต่ำที่จำเป็นก่อนการเรนเดอร์ครั้งแรกของคุณ
ติดตั้งแพคเกจ
dotnet add package Doconut.NET8คำสั่งที่ไม่มีเวอร์ชันจะติดตั้งรุ่นเสถียรล่าสุด เพื่อทำซ้ำรุ่น 26.7.0 ปัจจุบันอย่างแม่นยำ ให้ระบุเวอร์ชันเป็นตัวเลือกแยกต่างหาก:
dotnet add package Doconut.NET8 --version 26.7.0Doconut.NET8 คือ ID ของแพคเกจ ส่วนส่วนต่อท้าย .26.7.0 เป็นของชื่อไฟล์ Doconut.NET8.26.7.0.nupkg ที่ดาวน์โหลดมาและไม่ได้เป็นส่วนหนึ่งของ ID
ลงทะเบียน Doconut
AddDoconut() เป็นจุดเข้าถึงการลงทะเบียนเดียว — มี overload เพียงหนึ่งตัวและมันจะเชื่อมต่อบริการ Viewer บริการลิขสิทธิ์ และโครงสร้างพื้นฐานการเรนเดอร์เข้าไปใน DI container
การเรียก middleware สองครั้งจะทำให้การตั้งค่าสมบูรณ์และลำดับการเรียกมีความสำคัญ: UseDoconutResources() ต้องทำงานก่อน UseDoconut() UseDoconut() เป็น middleware สุดท้าย ดังนั้นการเรียกก่อนหมายความว่าคำขอทุกครั้งไปยังทรัพยากร /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();ตัวเลือกทั้งหมด
DoconutOptions รองรับคุณสมบัติเพิ่มเติมต่อไปนี้ ทุกค่าเป็นทางเลือก — ค่าตั้งต้นด้านล่างจะใช้เมื่อคุณสมบัตินั้นไม่ได้กำหนดค่า
| Property | Default | Description |
|---|---|---|
ShowDoconutInfo | false | เมื่อ true คำขอที่ไม่มี token จะคืนแบนเนอร์เวอร์ชันแทน 404 ใช้เป็นการตรวจสอบอย่างเร็ว; ปิดในสภาพการผลิต |
UnsafeMode | false | เมื่อ true จะข้ามการตรวจสอบความปลอดภัยของ ASP.NET‑session ในคำขอหน้า ปิดในสภาพการผลิต |
MiddlewarePath | "/doconut" | ค่าประสานสำหรับ endpoint ของภาพหน้า ถูกตรวจสอบแต่ไม่ได้สร้าง branch เอง; ควรสอดคล้องกับการแมป UseDoconut() และ BasePath ของไคลเอนต์ |
ResourcesPath | "/doconut-res" | ที่ตั้งของทรัพยากร JS/CSS/รูปภาพที่ฝังอยู่ |
LicensePath | "" (empty string) | เส้นทางไปยังไฟล์ลิขสิทธิ์ ค่าว่างหมายถึงให้ค้นหาแหล่งต่อไปโดยอัตโนมัติ |
LicenseContent | "" (empty string) | เนื้อหาลิขสิทธิ์ดิบ — จาก environment variable, secret manager หรือฐานข้อมูล |
LicenseStream | null | ลิขสิทธิ์เป็นสตรีม อ่านครั้งเดียวที่เริ่มต้น |
ResetLicense | false | ธงความเข้ากันได้สำรอง ปัจจุบัน .NET 8 services จะอ่านลิขสิทธิ์ระหว่าง AddDoconut(); รีสตาร์ทแอปหลังเปลี่ยนลิขสิทธิ์ |
ลำดับความสำคัญของลิขสิทธิ์เมื่อมีแหล่งมากกว่าหนึ่ง: LicenseStream มีลำดับสูงกว่า LicenseContent มีลำดับสูงกว่า LicensePath มีลำดับสูงกว่า auto‑search — ดู License Setup
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
options.MiddlewarePath = "/doconut"; // ประสานกับการแมปของแอปและ BasePath ของไคลเอนต์
options.ResourcesPath = "/doconut-res"; // ตำแหน่งที่ให้บริการไฟล์ JS/CSS/รูปภาพของ viewer
options.UnsafeMode = false; // รักษาความปลอดภัยของเซสชันไว้
options.ShowDoconutInfo = false;
});ขั้นตอนต่อไป
- เริ่มต้นอย่างเร็ว — เปิดเอกสารแรกของคุณและเรนเดอร์ในเบราว์เซอร์
- ตั้งค่าลิขสิทธิ์ — ที่ที่ Doconut มองหาไฟล์ลิขสิทธิ์ของคุณ
หน้านี้เป็นประโยชน์หรือไม่?