การติดตั้ง

เพิ่ม Doconut ไปยังโครงการ .NET 6 ของคุณ

ตัวดู Doconut พื้นฐานสำหรับ .NET 6 มาพร้อมกับแพคเกจ NuGet เพียงหนึ่งที่สามารถเชื่อมต่อกับแอปพลิเคชัน ASP.NET Core ใดก็ได้ ปลั๊กอินเสริมใช้แพคเกจแยกต่างหาก หน้านี้ทำการติดตั้งแพคเกจพื้นฐานและลงทะเบียน middleware — ขั้นตอนขั้นต่ำที่จำเป็นก่อนการเรนเดอร์ครั้งแรกของคุณ.

ติดตั้งแพคเกจ

bash
dotnet add package Doconut.NET6

คำสั่งที่ไม่มีเวอร์ชันจะติดตั้งรุ่นเสถียรล่าสุด เพื่อทำซ้ำรุ่น 26.7.0 ปัจจุบันอย่างแม่นยำ ให้ระบุเวอร์ชันเป็นตัวเลือกแยกต่างหาก:

bash
dotnet add package Doconut.NET6 --version 26.7.0

Doconut.NET6 คือ ID ของแพคเกจ ส่วนต่อท้าย .26.7.0 เป็นของไฟล์ Doconut.NET6.26.7.0.nupkg ที่ดาวน์โหลดและไม่ได้เป็นส่วนหนึ่งของ ID.

ระบุการรวมก่อนอัปเกรด

ID ของแพคเกจ Doconut.NET6 ถูกใช้ทั้งในการรวมแบบคลาสสิกและการรวมปัจจุบันของ .NET 6 อย่าเลือกเอกสารจากชื่อแพคเกจอย่างเดียว:

  • DocImage.axd, new Viewer(_cache, _accessor, ...), synchronous OpenDocument(...), และสคริปต์ตัวดูที่คัดลอกด้วยตนเองระบุ การรวมแบบคลาสสิก;
  • AddDoconut(), UseDoconutResources(), ตัว Viewer ที่ฉีดเข้า, และ OpenDocumentAsync(...) ระบุการรวมปัจจุบันที่อธิบายไว้ที่นี่.

คู่มือการตั้งค่าแบบคลาสสิกที่แปลแล้วยังคงพร้อมใช้งาน: คู่มือการตั้งค่าแบบคลาสสิก. ใช้ คู่มือการย้าย เพื่อเปลี่ยนรุ่น; การอัปเดตแพคเกจปกติจะไม่แปลงการเริ่มต้น, อายุการใช้งานของตัวดู, หรือทรัพยากรเบราว์เซอร์โดยอัตโนมัติ.

ลงทะเบียน Doconut

AddDoconut() เป็นจุดเข้าการลงทะเบียนเดียว — มี overload เพียงหนึ่งและจะเชื่อมต่อบริการ Viewer, บริการใบอนุญาต, และโครงสร้างพื้นฐานการเรนเดอร์เข้าไปในคอนเทนเนอร์ DI

การเรียก middleware สองครั้งจะทำให้การตั้งค่าเสร็จสมบูรณ์และลำดับของมันสำคัญ: UseDoconutResources() ต้องทำงานก่อน UseDoconut() UseDoconut() เป็น middleware สุดท้าย ดังนั้นการเรียกก่อนหมายความว่าคำขอทุกครั้งไปยังทรัพยากร /doconut-res จะไม่ถึงตัวจัดการทรัพยากรและจะคืนค่า 404 การเชื่อมต่อเซสชันก็จำเป็นเช่นกัน — ความปลอดภัยเอกสารเริ่มต้นของ Doconut ตรวจสอบทุกคำขอหน้าโดยอ้างอิงสถานะเซสชันของ ASP.NET

csharp
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 รับคุณสมบัติที่สามารถตั้งค่าได้ต่อไปนี้ ทุกอย่างเป็นตัวเลือก — ค่าเริ่มต้นด้านล่างจะใช้เมื่อคุณสมบัติกระทำไม่ได้ตั้งค่า

คุณสมบัติค่าเริ่มต้นคำอธิบาย
ShowDoconutInfofalseเมื่อ true คำขอที่ไม่มี token จะคืนแบนเนอร์เวอร์ชันแทน 404 มีประโยชน์เป็นการตรวจสอบอย่างเร็ว; อย่าเปิดในสภาพแวดล้อมการผลิต
UnsafeModefalseเมื่อ true จะข้ามการตรวจสอบความปลอดภัยของเซสชัน ASP.NET ในคำขอหน้า; อย่าเปิดในสภาพแวดล้อมการผลิต
MiddlewarePath"/doconut"ค่าประสานสำหรับ endpoint ของภาพหน้า; มีการตรวจสอบแต่ไม่ได้สร้างสาขาโดยอัตโนมัติ; ควรให้สอดคล้องกับการแมป UseDoconut() จริงและ BasePath ของไคลเอนต์
ResourcesPath"/doconut-res"ที่ที่ทรัพยากร JS/CSS/รูปภาพที่ฝังอยู่ให้บริการจาก
LicensePath"" (empty string)เส้นทางไปยังไฟล์ใบอนุญาต; ค่าว่างหมายถึงให้ลองแหล่งต่อไปแล้วทำการค้นหาอัตโนมัติ
LicenseContent"" (empty string)เนื้อหาใบอนุญาตดิบ — มาจากตัวแปรสภาพแวดล้อม, ตัวจัดการความลับ, หรือฐานข้อมูล
LicenseStreamnullใบอนุญาตเป็นสตรีม, อ่านครั้งเดียวที่เริ่มต้น
ResetLicensefalseธงความเข้ากันได้สำรอง; บริการ .NET 6 ปัจจุบันอ่านใบอนุญาตระหว่าง AddDoconut(); รีสตาร์ทแอปหลังจากเปลี่ยนใบอนุญาต

ลำดับความสำคัญของใบอนุญาตเมื่อมีแหล่งมากกว่าหนึ่งตั้งค่า: LicenseStream แซง LicenseContent แซง LicensePath แซงการค้นหาอัตโนมัติ — ดูที่ การตั้งค่าใบอนุญาต.

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

ขั้นตอนต่อไป

หน้านี้เป็นประโยชน์หรือไม่?