نصب
Doconut را به پروژه .NET 8 خود اضافه کنید
ویور پایه Doconut برای .NET 8 بهصورت یک پکیج NuGet ارائه میشود که به هر برنامه ASP.NET Core متصل میشود. افزونههای اختیاری از پکیجهای جداگانه استفاده میکنند. این صفحه پکیج پایه را نصب کرده و میدلور را ثبت میکند — حداقل مورد نیاز قبل از اولین رندر شما.
نصب پکیج
dotnet add package Doconut.NET8دستور بدون نسخه، آخرین نسخهٔ پایدار را نصب میکند. برای بازتولید دقیق نسخهٔ ۲۶.۷.۰ فعلی، نسخه را بهعنوان گزینهای جداگانه پاس دهید:
dotnet add package Doconut.NET8 --version 26.7.0Doconut.NET8 شناسهٔ پکیج است. پسوند .26.7.0 به نام فایل دانلود شدهٔ Doconut.NET8.26.7.0.nupkg تعلق دارد و بخشی از شناسه نیست.
ثبت Doconut
AddDoconut() تنها نقطهٔ ورودی ثبت است — یک overload دارد و سرویس Viewer، سرویس لایسنس و زیرساخت رندرینگ را به کانتینر DI متصل میکند.
دو فراخوانی میدلور تنظیمات را کامل میکنند و ترتیب آنها مهم است: UseDoconutResources() باید قبل از UseDoconut() اجرا شود. UseDoconut() میدلور نهایی است، بنابراین فراخوانی آن ابتدا باعث میشود هر درخواست به یک منبع /doconut-res هرگز به هندلر منابع نرسد و ۴۰۴ میشود. اتصال سشن نیز ضروری است — امنیت سند پیشفرض Doconut هر درخواست صفحه را نسبت به وضعیت سشن ASP.NET اعتبارسنجی میکند.
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 ویژگیهای قابل تنظیم زیر را میپذیرد. هر کدام اختیاری هستند — مقادیر پیشفرض زیر زمانی اعمال میشوند که ویژگیای تنظیم نشده باشد.
| ویژگی | پیشفرض | توضیح |
|---|---|---|
ShowDoconutInfo | false | زمانی که true باشد، درخواست بدون token بنر نسخه را به جای 404 برمیگرداند. برای بررسی سریع مفید است؛ در محیط تولید غیرفعال کنید. |
UnsafeMode | false | زمانی که true باشد، بررسی امنیتی جلسه ASP.NET را در درخواستهای صفحه نادیده میگیرد. در محیط تولید غیرفعال کنید. |
MiddlewarePath | "/doconut" | مقدار هماهنگی برای نقطه انتهایی صفحه‑تصویر. اعتبارسنجی میشود، اما بهتنهایی شاخهای را سوار نمیکند؛ آن را با نگاشت واقعی UseDoconut() و BasePath مشتری همراستا نگه دارید. |
ResourcesPath | "/doconut-res" | محل سرویسدهی منابع جاسازیشده JS/CSS/تصویر. |
LicensePath | "" (empty string) | مسیر فایل لایسنس. خالی بودن به معنای عبور به منبع بعدی و سپس جستجوی خودکار است. |
LicenseContent | "" (empty string) | محتوای خام لایسنس — از متغیر محیطی، مدیر اسرار یا پایگاه داده. |
LicenseStream | null | لایسنس بهصورت استریم، یکبار در زمان راهاندازی خوانده میشود. |
ResetLicense | false | پرچم سازگاری رزرو شده. سرویسهای .NET 8 فعلی لایسنس را در زمان AddDoconut() میخوانند؛ پس از تعویض لایسنس برنامه را مجدداً راهاندازی کنید. |
اولویت لایسنسها وقتی بیش از یک منبع تنظیم شده باشد: LicenseStream بر LicenseContent بر LicensePath بر جستجوی خودکار برتری دارد — برای جزئیات بیشتر به راهاندازی لایسنس مراجعه کنید.
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;
});گامهای بعدی
- شروع سریع — اولین سند خود را باز کنید و در مرورگر رندر کنید.
- راهاندازی لایسنس — جایی که Doconut به دنبال فایل لایسنس شما میگردد.
آیا این صفحه مفید بود؟