Cài đặt
Thêm Doconut vào dự án .NET 8 của bạn
Trình xem Doconut cơ bản cho .NET 8 được cung cấp dưới dạng một gói NuGet duy nhất 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 sẽ 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
dotnet add package Doconut.NET8Lệ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 biệt:
dotnet add package Doconut.NET8 --version 26.7.0Doconut.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ý — chỉ có một overload, và nó sẽ 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 rất 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 tới được 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.
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();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ẽ được áp dụng khi một thuộc tính không được đặt.
| Thuộc tính | Mặc định | Mô tả |
|---|---|---|
ShowDoconutInfo | false | Khi 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 để kiểm tra nhanh; tắt trong môi trường production. |
UnsafeMode | false | Khi true, bỏ qua kiểm tra bảo mật session 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 page-image. Nó được xác thực, nhưng không tự động tạo nhánh; hãy giữ nó đồng nhất với mapping thực tế của UseDoconut() và BasePath của client. |
ResourcesPath | "/doconut-res" | Đường dẫn nơi các tài nguyên JS/CSS/hình ảnh nhúng được phục vụ. |
LicensePath | "" (chuỗi rỗng) | Đường dẫn tới tệp giấy phép. Chuỗi rỗng có nghĩa là sẽ chuyển sang nguồn tiếp theo, sau đó tự động tìm kiếm. |
LicenseContent | "" (chuỗi rỗng) | 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. |
LicenseStream | null | Giấy phép dưới dạng stream, đọc một lần khi khởi động. |
ResetLicense | false | Cờ tương thích dự trữ. Các dịch vụ .NET 8 hiện tại đọc giấy phép trong AddDoconut(); hãy khởi động lại ứng dụng sau khi thay thế giấy phép. |
Ưu tiên giấy phép khi có hơn một nguồn được thiết lập: LicenseStream thắng LicenseContent thắng LicensePath thắng tự động tìm kiếm — xem Cài đặt giấy phép.
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;
});Các bước tiếp theo
- Bắt đầu nhanh — mở tài liệu đầu tiên của bạn và render nó trong trình duyệt.
- Cài đặt giấy phép — 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?