התקנה

הוסף את 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(), צופה מוזרק, ו-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.AddSession(); // Doconut document security rides on ASP.NET session state

app.UseSession();          // call UseSession() before UseDoconut()
app.UseDoconutResources(); // must be registered before UseDoconut()
app.UseDoconut();

כל האפשרויות

DoconutOptions מקבל את המאפיינים הניתנים להגדרה הבאים. כל אחד מהם אופציונלי — ברירות המחדל שלהלן חלות כאשר מאפיין נשאר ללא ערך.

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

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

csharp
builder.Services.AddDoconut(options =>
{
    options.LicensePath     = "Doconut.Viewer.lic";
    options.MiddlewarePath  = "/doconut";     // coordinate with app mapping and client BasePath
    options.ResourcesPath   = "/doconut-res"; // where the viewer's JS/CSS/images are served from
    options.UnsafeMode      = false;          // keep session security on
    options.ShowDoconutInfo = false;
});

הצעדים הבאים

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