התקנה

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

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

התקנת החבילה

bash
dotnet add package Doconut.NET6

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

bash
dotnet add package Doconut.NET6 --version 26.7.0

Doconut.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.

csharp
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 מקבל את המאפיינים הניתנים להגדרה הבאים. כל אחד מהם אופציונלי — ברירות המחדל שלהלן חלות כאשר מאפיין נשאר ללא ערך.

מאפייןברירת מחדלתיאור
ShowDoconutInfofalseכאשר true, בקשה ללא token מחזירה באנר גרסה במקום 404. שימושי לבדיקה מהירה; יש להשבית בייצור.
UnsafeModefalseכאשר true, מדלג על בדיקת האבטחה של ASP.NET‑session בבקשות דף. יש להשבית בייצור.
MiddlewarePath"/doconut"ערך תיאום עבור נקודת הקצה page-image. הוא מאומת, אך אינו יוצר ענף בעצמו; שמרו אותו תואם למיפוי UseDoconut() האמיתי ול‑BasePath של הלקוח.
ResourcesPath"/doconut-res"מאיפה משוררים המשאבים המוטמעים JS/CSS/תמונה.
LicensePath"" (empty string)נתיב לקובץ הרישיון. ריק משמעותו לעבור למקור הבא, ואז חיפוש אוטומטי.
LicenseContent"" (empty string)תוכן רישיון גולמי — ממשתנה סביבתי, מנהל סודות, או מסד נתונים.
LicenseStreamnullרישיון כזרם, נקרא פעם אחת באתחול.
ResetLicensefalseדגל תאימות שמור. השירותים של .NET 6 הקיימים קוראים את הרישיון במהלך AddDoconut(); יש לאתחל את האפליקציה לאחר החלפת רישיון.

עדיפות רישיון כאשר מוגדר יותר ממקור אחד: LicenseStream גובר על LicenseContent, גובר על LicensePath, גובר על חיפוש אוטומטי — ראה הגדרת רישיון.

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

הצעדים הבאים

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