نصب

Doconut را به پروژه .NET 8 خود اضافه کنید

نمایشگر پایه Doconut برای .NET 8 به‌صورت یک بسته NuGet ارائه می‌شود که می‌تواند در هر برنامه ASP.NET Core وارد شود. افزونه‌های اختیاری از بسته‌های جداگانه استفاده می‌کنند. این صفحه بسته پایه را نصب کرده و میدلور را ثبت می‌کند — حداقل موارد مورد نیاز قبل از اولین رندر شما.

نصب بسته

bash
dotnet add package Doconut.NET8

دستور بدون نسخه، آخرین نسخه پایدار را نصب می‌کند. برای بازتولید دقیق نسخهٔ فعلی ۲۶.۷.۰، نسخه را به‌عنوان گزینه‌ای جداگانه پاس دهید:

bash
dotnet add package Doconut.NET8 --version 26.7.0

Doconut.NET8 شناسهٔ بسته است. پسوند .26.7.0 به نام فایل دانلود شدهٔ Doconut.NET8.26.7.0.nupkg تعلق دارد و بخشی از شناسه نیست.

ثبت Doconut

AddDoconut() تنها نقطهٔ ورودی ثبت است — یک overload واحد دارد و سرویس Viewer، سرویس لایسنس و زیرساخت رندرینگ را به کانتینر DI متصل می‌کند.

دو فراخوانی میدلور تنظیمات را کامل می‌کنند و ترتیب آن‌ها مهم است: UseDoconutResources() باید قبل از UseDoconut() اجرا شود. UseDoconut() یک میدلور انتهایی است، بنابراین فراخوانی آن ابتدا باعث می‌شود هر درخواست به منبع /doconut-res هرگز به هندلر منابع نرسد و خطای ۴۰۴ دریافت شود. اتصال سشن نیز ضروری است — امنیت پیش‌فرض سند Doconut هر درخواست صفحه را نسبت به وضعیت سشن ASP.NET اعتبارسنجی می‌کند.

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

تمام گزینه‌ها

DoconutOptions ویژگی‌های قابل تنظیم زیر را می‌پذیرد. هر یک اختیاری هستند — مقادیر پیش‌فرض زیر زمانی اعمال می‌شوند که ویژگی‌ای تنظیم نشده باشد.

ویژگیپیش‌فرضتوضیح
ShowDoconutInfofalseزمانی که true باشد، درخواست بدون token بنر نسخه را بر‌گردانده به‌جای ۴۰۴. برای بررسی سریع مفید است؛ در محیط تولید غیرفعال بماند.
UnsafeModefalseزمانی که true باشد، بررسی امنیت سشن ASP.NET را در درخواست‌های صفحه نادیده می‌گیرد. در محیط تولید غیرفعال بماند.
MiddlewarePath"/doconut"مقدار هماهنگی برای نقطهٔ انتهایی صفحه‑تصویر. اعتبارسنجی می‌شود، اما به تنهایی شاخه‌ای را سوار نمی‌کند؛ آن را با نگاشت واقعی UseDoconut() و BasePath کلاینت هماهنگ نگه دارید.
ResourcesPath"/doconut-res"محلی که منابع جاسازی‌شدهٔ JS/CSS/تصویر از آن سرو می‌شوند.
LicensePath"" (empty string)مسیر فایل لایسنس. خالی بودن به معنای عبور به منبع بعدی و سپس جستجوی خودکار است.
LicenseContent"" (empty string)محتوای خام لایسنس — از متغیر محیطی، مدیر رازها یا پایگاه داده.
LicenseStreamnullلایسنس به‌صورت جریان، یک‌بار در زمان راه‌اندازی خوانده می‌شود.
ResetLicensefalseپرچم سازگاری رزرو شده. سرویس‌های فعلی .NET 8 لایسنس را در زمان AddDoconut() می‌خوانند؛ پس از تعویض لایسنس، برنامه را مجدداً راه‌اندازی کنید.

اولویت لایسنس هنگام تنظیم بیش از یک منبع: LicenseStream بر LicenseContent، LicenseContent بر LicensePath، و LicensePath بر جستجوی خودکار ارجحیت دارد — به راه‌اندازی لایسنس مراجعه کنید.

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

گام‌های بعدی

آیا این صفحه مفید بود؟