نصب
افزودن Doconut به پروژه .NET Standard 2.1 شما
ویور پایه Doconut برای .NET Standard به عنوان یک پکیج NuGet عرضه میشود که به هر برنامه ASP.NET Core متصل میشود. افزونههای اختیاری از پکیجهای جداگانه استفاده میکنند. این صفحه پکیج پایه را نصب میکند، اطمینان میدهد که میزبان شما میتواند آن را مصرف کند، و میدلور را ثبت میکند — حداقل مورد نیاز قبل از اولین رندر شما.
ابتدا فریمورک میزبان را بررسی کنید
کتابخانه هدف netstandard2.1 است. این قرارداد نسبت به نسخه قبلی netstandard2.0 محدودتر است و اولین موردی است که باید تأیید شود:
| میزبان | پشتیبانی میشود |
|---|---|
| .NET Core 3.0 یا بعدتر، شامل .NET 5/6/7/8 | بله |
| .NET Framework (هر نسخه) | خیر — netstandard2.1 نمیتواند توسط .NET Framework مصرف شود |
اگر برنامه بر روی .NET Framework اجرا میشود، این پکیج مناسب نیست. به جای آن از Doconut.NETFramework استفاده کنید؛ از نسخه ۲۶.۹.۰ به بعد به .NET Framework 4.7.2 نیاز دارد. برنامههای مرجع ارائهشده با این نسخه هدف net8.0 را دارند.
نصب پکیج
dotnet add package Doconut.NETStandardدستور بدون نسخه آخرین نسخه پایدار را نصب میکند. برای بازتولید دقیق نسخه ۲۶.۸.۰ فعلی، نسخه را به عنوان گزینهای جداگانه پاس دهید:
dotnet add package Doconut.NETStandard --version 26.8.0Doconut.NETStandard شناسه پکیج است. پسوند .26.8.0 به نام فایل دانلود شده Doconut.NETStandard.26.8.0.nupkg تعلق دارد و بخشی از شناسه نیست.
شماره نسخه نسل است
این در اینجا مهمتر از نام پکیج است. هر دو نسل کتابخانه .NET Standard تحت همان شناسه پکیج منتشر میشوند و فقط نسخه آنها را از هم متمایز میکند:
| نسخه | هدف | API |
|---|---|---|
| ۲۶.۷.۰ و پایینتر | netstandard2.0 | یکپارچهسازی قبلی |
| ۲۶.۸.۰ و بالاتر | netstandard2.1 | یکپارچهسازی مستند شده در اینجا |
هیچ shim سازگاری و هیچ پکیج کنار هم وجود ندارد. ارتقاء نسخه بهعنوان ارتقاء محسوب میشود و کامپایلر بلافاصله تفاوتهای API را گزارش میدهد.
از نام پکیج به تنهایی برای انتخاب مستندات استفاده نکنید:
new Viewer(_cache, _accessor, …),UnSafeMode,OpenDocument(...)همزمان،viewer.InitCache(),UseDoconutWebFarm، و اسکریپتهای ویور کپیشده به صورت دستی، یکپارچهسازی یکپارچهسازی قبلی را شناسایی میکنند؛AddDoconut(),UseDoconutResources(), یکViewerتزریقشده، وOpenDocumentAsync(...)یکپارچهسازی فعلی مستند شده در اینجا را شناسایی میکند.
راهنمای تنظیمات قبلی راهنمای تنظیمات قبلی ترجمهشده در دسترس باقی میماند. برای تغییر نسلها از راهنمای مهاجرت استفاده کنید؛ بهروزرسانی پکیج بهطور خودکار استارتاپ، طول عمر ویور یا منابع مرورگر را تبدیل نمیکند.
ثبت Doconut
AddDoconut() تنها نقطه ورود ثبت است — یک overload واحد دارد و سرویس Viewer، سرویس لایسنس و زیرساخت رندرینگ را به کانتینر DI متصل میکند.
دو فراخوانی میدلور تنظیمات را کامل میکنند و ترتیب آنها مهم است: UseDoconutResources() باید قبل از UseDoconut() اجرا شود. UseDoconut() میدلور نهایی است، بنابراین فراخوانی آن ابتدا به این معنی است که هر درخواست به یک منبع /doconut-res هرگز به هندلر منابع نمیرسد و 404 میشود. سیمکشی جلسه نیز لازم است — امنیت سند 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(); // قبل از UseDoconut()، UseSession() را فراخوانی کنید
app.UseDoconutResources(); // باید قبل از UseDoconut() ثبت شود
app.UseDoconut();فضاهای نام
نوعهای پیکربندی دیگر در چهار فضای نام پخش نشدهاند. در این انتشار تقریباً همه چیز در فضای نام ریشه Doconut قرار دارد:
using Doconut; // Viewer, DoconutOptions, DocOptions, تمام پیکربندیهای فرمت
using Doconut.Middleware; // AddDoconut, UseDoconut, UseDoconutResources
using Doconut.Clouds; // پیکربندیهای ابر و اشتراکگذاری فایل
using Doconut.Configs.Conversion; // ConversionTargetنامهای نوع خودشان تغییر نکردهاند — PdfConfig, WordConfig, ExcelConfig, CssConfig, ScriptConfig و بقیه همچنان موجود هستند. اگر در حال انتقال یک برنامه موجود هستید، بیشتر فایلها فقط به دو خط using حذفشده نیاز دارند؛ به راهنمای مهاجرت مراجعه کنید.
تمام گزینهها
DoconutOptions ویژگیهای قابل تنظیم زیر را میپذیرد. هر یک اختیاری است — پیشفرضهای زیر زمانی اعمال میشوند که ویژگی مقداردهی نشود.
| ویژگی | پیشفرض | توضیح |
|---|---|---|
ShowDoconutInfo | false | زمانی که true باشد، درخواست بدون token بنر نسخه را به جای 404 برمیگرداند. برای بررسی سریع مفید است؛ در محیط تولید غیرفعال کنید. |
UnsafeMode | false | زمانی که true باشد، بررسی امنیتی جلسه ASP.NET را در درخواستهای صفحه نادیده میگیرد. در محیط تولید غیرفعال کنید. به نوشتار توجه کنید — کتابخانه قبلی این را UnSafeMode مینامید. |
MiddlewarePath | "/doconut" | مقدار هماهنگی برای نقطه انتهایی صفحه‑تصویر. اعتبارسنجی میشود، اما به تنهایی شاخهای ایجاد نمیکند؛ آن را با نگاشت واقعی UseDoconut() و BasePath کلاینت هماهنگ نگه دارید. |
ResourcesPath | "/doconut-res" | محلی که منابع جاسازیشده JS/CSS/تصویر از آن سرو میشوند. |
LicensePath | "" (empty string) | مسیر فایل لایسنس. خالی بودن به معنای عبور به منبع بعدی و سپس جستجوی خودکار است. |
LicenseContent | "" (empty string) | محتوای خام لایسنس — از یک متغیر محیطی، مدیر رازها یا پایگاه داده. |
LicenseStream | null | لایسنس بهصورت استریم، یکبار در زمان راهاندازی خوانده میشود. |
ResetLicense | false | پرچم سازگاری رزرو شده. لایسنس در زمان AddDoconut() خوانده میشود؛ پس از تعویض لایسنس برنامه را مجدداً راهاندازی کنید. |
ترتیب اولویت لایسنس وقتی بیش از یک منبع تنظیم شده باشد: LicenseStream بر LicenseContent بر LicensePath بر جستجوی خودکار ارجحیت دارد — ببینید راهاندازی لایسنس.
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
options.MiddlewarePath = "/doconut"; // هماهنگی با نگاشت برنامه و BasePath کلاینت
options.ResourcesPath = "/doconut-res"; // محلی که JS/CSS/تصاویر viewer سرو میشوند
options.UnsafeMode = false; // امنیت جلسه را فعال نگه دارید
options.ShowDoconutInfo = false;
});گامهای بعدی
- شروع سریع — اولین سند خود را باز کنید و در مرورگر رندر کنید.
- راهاندازی لایسنس — جایی که Doconut به دنبال فایل لایسنس شما میگردد.
آیا این صفحه مفید بود؟