نصب

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.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"مقدار هماهنگی برای نقطه انتهایی صفحه‑تصویر. اعتبارسنجی می‌شود، اما به‌تنهایی شاخه‌ای را سوار نمی‌کند؛ آن را با نگاشت واقعی UseDoconut() و BasePath مشتری هم‌راستا نگه دارید.
ResourcesPath"/doconut-res"محل سرویس‌دهی منابع جاسازی‌شده JS/CSS/تصویر.
LicensePath"" (empty string)مسیر فایل لایسنس. خالی بودن به معنای عبور به منبع بعدی و سپس جستجوی خودکار است.
LicenseContent"" (empty string)محتوای خام لایسنس — از متغیر محیطی، مدیر اسرار یا پایگاه داده.
LicenseStreamnullلایسنس به‌صورت استریم، یک‌بار در زمان راه‌اندازی خوانده می‌شود.
ResetLicensefalseپرچم سازگاری رزرو شده. سرویس‌های .NET 8 فعلی لایسنس را در زمان 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;
});

گام‌های بعدی

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