Cài đặt

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

Trình xem Doconut cơ bản cho .NET 6 đượ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.NET6

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:

bash
dotnet add package Doconut.NET6 --version 26.7.0

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

Xác định tích hợp trước khi nâng cấp

ID gói Doconut.NET6 đã được sử dụng cho cả hai tích hợp cổ điển và hiện tại của .NET 6. Đừng chỉ dựa vào tên gói để chọn tài liệu:

  • DocImage.axd, new Viewer(_cache, _accessor, ...), đồng bộ OpenDocument(...), và các script trình xem được sao chép thủ công xác định tích hợp cổ điển;
  • AddDoconut(), UseDoconutResources(), một Viewer được tiêm, và OpenDocumentAsync(...) xác định tích hợp hiện tại được tài liệu mô tả ở đây.

Bản dịch của hướng dẫn cài đặt cổ điển vẫn còn sẵn sàng. Sử dụng hướng dẫn di chuyển để thay đổi các thế hệ; một bản cập nhật gói thông thường không tự động chuyển đổi khởi động, vòng đời trình xem, hoặc tài nguyên trình duyệt.

Đă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 việc 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ờ tới trình xử lý tài nguyên và trả về 404. Việc kết nối session 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 session của ASP.NET.

csharp
builder.Services.AddDoconut(options =>
{
    options.LicensePath = "Doconut.Viewer.lic";
});
builder.Services.AddDistributedMemoryCache(); // trạng thái session cần một cache (MVC/Razor Pages đã thêm sẵn một)
builder.Services.AddSession(); // bảo mật tài liệu Doconut dựa trên trạng thái session của 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 dưới đây 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ề một banner phiên bản thay vì 404. Hữu ích như một kiểm tra nhanh; nên tắt trong môi trường production.
UnsafeModefalseKhi true, bỏ qua kiểm tra bảo mật session ASP.NET trên các yêu cầu trang. Nên tắt trong môi trường production.
MiddlewarePath"/doconut"Giá trị điều phối cho endpoint trang‑hình ảnh. Nó được xác thực, nhưng không tự tạo nhánh; hãy 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 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 6 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 Cài đặt giấy phép.

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

Các bước tiếp theo

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