Cài đặt

Thêm Doconut vào dự án .NET 8 của bạn

Viewer cơ bản Doconut cho .NET 8 được cung cấp dưới dạng một gói NuGet có thể tích hợp vào bất kỳ ứng dụng ASP.NET Core nào. Các plugin tùy chọn sử dụng các gói riêng biệt. Trang này cài đặt gói cơ bản và đăng ký middleware — mức tối thiểu cần thiết trước khi bạn thực hiện lần render đầu tiên.

Cài đặt gói

bash
dotnet add package Doconut.NET8

Lệnh không chỉ định phiên bản sẽ cài đặt bản phát hành ổn định mới nhất. Để tái tạo chính xác bản phát hành 26.7.0 hiện tại, hãy truyền phiên bản như một tùy chọn riêng:

bash
dotnet add package Doconut.NET8 --version 26.7.0

Doconut.NET8 là ID của gói. Hậu tố .26.7.0 thuộc về tên tệp đã tải xuống Doconut.NET8.26.7.0.nupkg và không phải là một phần của ID.

Đăng ký Doconut

AddDoconut() là điểm vào duy nhất để đăng ký — có một overload duy nhất, và nó kết nối dịch vụ Viewer, dịch vụ giấy phép và cơ sở hạ tầng render vào container DI.

Hai lời gọi middleware hoàn thiện quá trình thiết lập, và thứ tự của chúng quan trọng: UseDoconutResources() phải chạy trước UseDoconut(). UseDoconut() là middleware cuối cùng, vì vậy nếu gọi nó trước sẽ khiến mọi yêu cầu tới tài nguyên /doconut-res không bao giờ đến trình xử lý tài nguyên và trả về 404. Việc kết nối phiên cũng cần thiết — bảo mật tài liệu mặc định của Doconut xác thực mọi yêu cầu trang dựa trên trạng thái phiên ASP.NET.

csharp
builder.Services.AddDoconut(options =>
{
    options.LicensePath = "Doconut.Viewer.lic";
});
builder.Services.AddDistributedMemoryCache(); // trạng thái phiên cần một bộ nhớ đệm (MVC/Razor Pages đã thêm sẵn một bộ nhớ đệm)
builder.Services.AddSession(); // bảo mật tài liệu Doconut dựa trên trạng thái phiên ASP.NET

app.UseSession();          // gọi UseSession() trước UseDoconut()
app.UseDoconutResources(); // phải được đăng ký trước UseDoconut()
app.UseDoconut();

Tất cả các tùy chọn

DoconutOptions chấp nhận các thuộc tính có thể thiết lập sau. Mỗi thuộc tính đều là tùy chọn — các giá trị mặc định bên dưới sẽ áp dụng khi một thuộc tính không được đặt.

Thuộc tínhMặc địnhMô tả
ShowDoconutInfofalseKhi true, một yêu cầu không có token sẽ trả về banner phiên bản thay vì 404. Hữu ích như kiểm tra nhanh; tắt trong môi trường production.
UnsafeModefalseKhi true, bỏ qua kiểm tra bảo mật phiên ASP.NET trên các yêu cầu trang. Tắt trong môi trường production.
MiddlewarePath"/doconut"Giá trị phối hợp cho endpoint trang-ảnh. Nó được xác thực, nhưng không tự tạo nhánh; giữ nó đồng nhất với ánh xạ thực tế của UseDoconut() và BasePath của client.
ResourcesPath"/doconut-res"Nơi các tài nguyên JS/CSS/hình ảnh được nhúng được phục vụ từ.
LicensePath"" (empty string)Đường dẫn tới tệp giấy phép. Trống có nghĩa là sẽ chuyển sang nguồn tiếp theo, sau đó tự động tìm kiếm.
LicenseContent"" (empty string)Nội dung giấy phép thô — từ biến môi trường, trình quản lý bí mật, hoặc cơ sở dữ liệu.
LicenseStreamnullGiấy phép dưới dạng stream, đọc một lần khi khởi động.
ResetLicensefalseCờ tương thích dự phòng. Các dịch vụ .NET 8 hiện tại đọc giấy phép trong AddDoconut(); khởi động lại ứng dụng sau khi thay thế giấy phép.

Thứ tự ưu tiên giấy phép khi có hơn một nguồn được đặt: LicenseStream ưu tiên hơn LicenseContent, ưu tiên hơn LicensePath, ưu tiên hơn tự động tìm kiếm — xem License Setup.

csharp
builder.Services.AddDoconut(options =>
{
    options.LicensePath     = "Doconut.Viewer.lic";
    options.MiddlewarePath  = "/doconut";     // phối hợp với ánh xạ ứng dụng và BasePath của client
    options.ResourcesPath   = "/doconut-res"; // nơi các tài nguyên JS/CSS/hình ảnh của viewer được phục vụ
    options.UnsafeMode      = false;          // giữ bảo mật phiên hoạt động
    options.ShowDoconutInfo = false;
});

Các bước tiếp theo

  • Quick Start — mở tài liệu đầu tiên của bạn và render nó trong trình duyệt.
  • License Setup — nơi Doconut tìm kiếm tệp giấy phép của bạn.

Trang này có hữu ích không?