התקנה
הוסף את Doconut לפרויקט .NET 6 שלך
צופה הבסיס של Doconut עבור .NET 6 מגיע כחבילה אחת של NuGet שמתחברת לכל אפליקציית ASP.NET Core. תוספים אופציונליים משתמשים בחבילות נפרדות. דף זה מתקין את חבילת הבסיס ורושם את ה‑middleware — המינימום הדרוש לפני הרינדור הראשון שלך.
התקנת החבילה
dotnet add package Doconut.NET6הפקודה ללא גרסה מתקינה את הגרסה היציבה האחרונה. כדי לשחזר בדיוק את הגרסה הנוכחית 26.7.0, העבר את הגרסה כאופציה נפרדת:
dotnet add package Doconut.NET6 --version 26.7.0Doconut.NET6 הוא מזהה החבילה. הסיומת .26.7.0 שייכת לקובץ Doconut.NET6.26.7.0.nupkg שהורד ואינה חלק מהמזהה.
זיהוי האינטגרציה לפני עדכון
מזהה החבילה Doconut.NET6 שומש הן באינטגרציה הקלאסית והן באינטגרציה הנוכחית של .NET 6. אל תבחר תיעוד רק משם החבילה:
DocImage.axd,new Viewer(_cache, _accessor, ...), סינכרוניOpenDocument(...), וסקריפטים של הצופה שהועתקו ידנית מזהים את אינטגרציה קלאסית;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(); // session state צריך מטמון (MVC/Razor Pages כבר מוסיפים אחד)
builder.Services.AddSession(); // אבטחת המסמך של Doconut מתבססת על ASP.NET session state
app.UseSession(); // קרא UseSession() לפני UseDoconut()
app.UseDoconutResources(); // חייב להיות רשום לפני UseDoconut()
app.UseDoconut();כל האפשרויות
DoconutOptions מקבל את המאפיינים הניתנים להגדרה הבאים. כל אחד מהם אופציונלי — ברירות המחדל שלהלן חלות כאשר מאפיין נשאר ללא ערך.
| מאפיין | ברירת מחדל | תיאור |
|---|---|---|
ShowDoconutInfo | false | כאשר true, בקשה ללא token מחזירה באנר גרסה במקום 404. שימושי לבדיקה מהירה; יש להשבית בייצור. |
UnsafeMode | false | כאשר true, מדלג על בדיקת האבטחה של ASP.NET‑session בבקשות דף. יש להשבית בייצור. |
MiddlewarePath | "/doconut" | ערך תיאום עבור נקודת הקצה page-image. הוא מאומת, אך אינו יוצר ענף בעצמו; שמרו אותו תואם למיפוי UseDoconut() האמיתי ול‑BasePath של הלקוח. |
ResourcesPath | "/doconut-res" | מאיפה משוררים המשאבים המוטמעים JS/CSS/תמונה. |
LicensePath | "" (empty string) | נתיב לקובץ הרישיון. ריק משמעותו לעבור למקור הבא, ואז חיפוש אוטומטי. |
LicenseContent | "" (empty string) | תוכן רישיון גולמי — ממשתנה סביבתי, מנהל סודות, או מסד נתונים. |
LicenseStream | null | רישיון כזרם, נקרא פעם אחת באתחול. |
ResetLicense | false | דגל תאימות שמור. השירותים של .NET 6 הקיימים קוראים את הרישיון במהלך AddDoconut(); יש לאתחל את האפליקציה לאחר החלפת רישיון. |
עדיפות רישיון כאשר מוגדר יותר ממקור אחד: LicenseStream גובר על LicenseContent, גובר על LicensePath, גובר על חיפוש אוטומטי — ראה הגדרת רישיון.
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
options.MiddlewarePath = "/doconut"; // תאם עם מיפוי האפליקציה ו‑BasePath של הלקוח
options.ResourcesPath = "/doconut-res"; // מאיפה ה‑JS/CSS/images של הצופה מוגשים
options.UnsafeMode = false; // שמור על אבטחת session פעילה
options.ShowDoconutInfo = false;
});הצעדים הבאים
- התחלה מהירה — פתח את המסמך הראשון שלך והצג אותו בדפדפן.
- הגדרת רישיון — המקום שבו Doconut מחפש את קובץ הרישיון שלך.
האם דף זה היה מועיל?