התקנה

הוסף את Doconut לפרויקט .NET Standard 2.1 שלך

הצופה הבסיסי של Doconut עבור .NET Standard מגיע כחבילה יחידה של NuGet שניתן לחבר לכל יישום ASP.NET Core. תוספים אופציונליים משתמשים בחבילות נפרדות. דף זה מתקין את החבילה הבסיסית, מאשר שהשרת שלך יכול לצרוך אותה, ורושם את ה‑middleware — המינימום הדרוש לפני הרינדור הראשון שלך.

בדוק תחילה את מסגרת המארח

הספרייה ממקדת על netstandard2.1. זהו חוזה צמוד יותר מהגרסה הקודמת netstandard2.0, והוא הדבר הראשון לאימות:

מארחנתמך
.NET Core 3.0 או מאוחר יותר, כולל .NET 5/6/7/8כן
.NET Framework (כל גרסה)לא — netstandard2.1 אינו ניתן לצריכה על ידי .NET Framework

אם היישום פועל על .NET Framework, זו אינה החבילה המתאימה. השתמש בDoconut.NETFramework במקום; מגרסה 26.9.0 היא דורשת .NET Framework 4.7.2. היישומים הרפרנסיים שנכללו במהדורה זו ממקדים את net8.0.

התקנת החבילה

bash
dotnet add package Doconut.NETStandard

הפקודה ללא גרסה מתקינה את הגרסה היציבה האחרונה. כדי לשחזר במדויק את הגרסה 26.8.0 הנוכחית, העבר את הגרסה כאופציה נפרדת:

bash
dotnet add package Doconut.NETStandard --version 26.8.0

Doconut.NETStandard הוא מזהה החבילה. הסיומת .26.8.0 שייכת לשם הקובץ Doconut.NETStandard.26.8.0.nupkg שהורד ואינה חלק מהמזהה.

מספר הגרסה הוא הדור

זה חשוב יותר כאן מאשר שם החבילה. שני הדורות של ספריית .NET Standard מתפרסמים תחת אותו מזהה חבילה, ורק הגרסה מבחינה ביניהם:

גרסהיעדAPI
26.7.0 ומטהnetstandard2.0האינטגרציה הקודמת
26.8.0 ומעלהnetstandard2.1האינטגרציה המתועדת כאן

אין שכבת התאמה ואין חבילה ציד-ציד. העלאת הגרסה היא השדרוג, והקומפיילר ידווח על ההבדלים ב‑API מיד.

אל תבחר תיעוד רק משם החבילה:

  • new Viewer(_cache, _accessor, …), UnSafeMode, סינכרוני OpenDocument(...), viewer.InitCache(), UseDoconutWebFarm, וסקריפטים של הצופה שהועתקו ידנית מזהים את האינטגרציה הקודמת;
  • AddDoconut(), UseDoconutResources(), Viewer מוזרק, וOpenDocumentAsync(...) מזהים את האינטגרציה הנוכחית המתועדת כאן.

המדריך המתורגם של הגדרת קודמת עדיין זמין. השתמש במדריך ההגירה כדי לשנות דורות; עדכון חבילה אינו ממיר באופן אוטומטי את אתחול, חיי הצופה, או משאבי הדפדפן.

רישום Doconut

AddDoconut() הוא נקודת הכניסה היחידה לרישום — יש עומס יחיד, והוא מחבר את השירות Viewer, שירות הרישיון, ותשתית הרינדור למיכל ה‑DI.

שתי קריאות middleware משלים את ההגדרה, והסדר שלהן חשוב: UseDoconutResources() חייב לרוץ לפני UseDoconut(). UseDoconut() הוא middleware סופי, ולכן קריאה אליו ראשון משמעותה שכל בקשה לנכס /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();          // קרא UseSession() לפני UseDoconut()
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‑session בבקשות עמוד. השאר מושבת בייצור. שים לב לאיות — הספרייה הקודמת קראה לזה UnSafeMode.
MiddlewarePath"/doconut"ערך תיאום עבור נקודת הקצה page-image. הוא מאומת, אך אינו יוצר ענף בעצמו; שמור אותו תואם למיפוי 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;
});

הצעדים הבאים

האם דף זה היה מועיל?