התקנה
הוסף את 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.
התקנת החבילה
dotnet add package Doconut.NETStandardהפקודה ללא גרסה מתקינה את הגרסה היציבה האחרונה. כדי לשחזר במדויק את הגרסה 26.8.0 הנוכחית, העבר את הגרסה כאופציה נפרדת:
dotnet add package Doconut.NETStandard --version 26.8.0Doconut.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.
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:
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‑session בבקשות עמוד. השאר מושבת בייצור. שים לב לאיות — הספרייה הקודמת קראה לזה UnSafeMode. |
MiddlewarePath | "/doconut" | ערך תיאום עבור נקודת הקצה page-image. הוא מאומת, אך אינו יוצר ענף בעצמו; שמור אותו תואם למיפוי 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 מחפש את קובץ הרישיון שלך.
האם דף זה היה מועיל?