התקנה

הוספת Doconut לפרויקט .NET 8 שלך

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

התקנת החבילה

bash
dotnet add package Doconut.NET8

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

bash
dotnet add package Doconut.NET8 --version 26.7.0

Doconut.NET8 הוא מזהה החבילה. הסיומת .26.7.0 שייכת לשם הקובץ Doconut.NET8.26.7.0.nupkg ואינה חלק מהמזהה.

רישום 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();

כל האפשרויות

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

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

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

csharp
builder.Services.AddDoconut(options =>
{
    options.LicensePath     = "Doconut.Viewer.lic";
    options.MiddlewarePath  = "/doconut";     // תאם עם מיפוי האפליקציה ו‑BasePath של הלקוח
    options.ResourcesPath   = "/doconut-res"; // היכן משמשים משאבי ה‑JS/CSS/תמונות של הצופה
    options.UnsafeMode      = false;          // שמור על אבטחת הסשן פעילה
    options.ShowDoconutInfo = false;
});

צעדים הבאים

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