نصب

افزودن 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 را دارند.

نصب پکیج

bash
dotnet add package Doconut.NETStandard

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

bash
dotnet add package Doconut.NETStandard --version 26.8.0

Doconut.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 اعتبارسنجی می‌کند.

csharp
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 قرار دارد:

csharp
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 ویژگی‌های قابل تنظیم زیر را می‌پذیرد. هر یک اختیاری است — پیش‌فرض‌های زیر زمانی اعمال می‌شوند که ویژگی مقداردهی نشود.

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

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

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

گام‌های بعدی

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