מאגר חיבורים שוחזר
Contents
[
Hide
]
עם השחרור של Aspose.Email 19.3, מאגר החיבורים שוחזר. חדש EmailClient מחלקה הוצגה שתחליף בסופו את CredentialsByHostClient מחלקה. ה- EmailClient מחלקה מספקת ConnectionAsgmtMode מאפיין שמגדיר את מצב הקצאת החיבורים בסביבה מרובת תהליכים. EmailClient.ConnectionAsgmtMode מתוגדר באמצעות ConnectionAsgmtType enumerable.
סוגי חיבורים
הקיימים שלושה סוגי חיבורים הבאים:
- החיבור הראשי: זהו החיבור שנוצר ונפטר יחד עם לקוח הדואר. לא ניתן ליצור או לפטר אותו ידנית.
- חיבור ברירת מחדל: המשתמש יכול ליצור חיבורים ברירת מחדל לתילים עם CreateConnection מתודה. אם חיבור ברירת מחדל קיים, כל המתודות של לקוח הדוא"ל המבוצעות בתיל ישתמשו במרומז בחיבור זה. רק חיבור ברירת מחדל אחד יכול להתקיים לכל תיל. הוא יכול להיווצר ידנית או אוטומטית. זה תלוי במאפיין EmailClient.ConnectionAsgmtMode. חיבורים אלו ניתן ליצור ידנית באמצעות EmailClient.CreateConnection(createAsDefaultConnection = true) מתודה. אם חיבור ברירת המחדל אינו משמש (תלוי במצב הקצאת חיבור), החיבור הראשי משמש במרומז במקום זאת.
- חיבורים עצמאיים: אלו חיבורים שאינם מקושרים לתילים. ניתן ליצור אותם ידנית וחייבים להשתמש בהם במפורש כפרמטר למתודה. חיבורים אלו ניתן ליצור ידנית באמצעות EmailClient.CreateConnection() מתודה או EmailClient.CreateConnection(createAsDefaultConnection = false) שיטה.
סוגי הקצאת חיבור
כדי להגדיר את ה‑ EmailClient.ConnectionAsgmtMode מאפיין, ConnectionAsgmtType ה‑enumerable משמש. סוגי ההקצאה שמסופקים על ידי ConnectionAsgmtType מופיעים למטה.
- ConnectionAsgmtType.UseMainOrDefault מצב זה משמש כברירת מחדל בלקוחות דוא"ל. לקוח הדוא"ל משתמש בחיבור הראשי לכל הפעולות מכמה תילים אם חיבור ברירת מחדל לא נוצר, או אם חיבור לא נמסר במפורש כפרמטר למתודה. החיבור הראשי הוא חיבור שנוצר יחד עם לקוח הדוא"ל. המשתמש יכול ליצור חיבורי ברירת מחדל לתילים עם CreateConnection מתודה. אם חיבור ברירת מחדל לתיל נוצר, הוא משמש במרומז לכל המתודות של לקוח הדוא"ל שמוזמנות בתיל זה. אם חיבור ברירת מחדל לתיל אינו נוצר, החיבור הראשי משמש לכל המתודות של לקוח הדוא"ל שמוזמנות בתיל זה. המשתמש גם יכול ליצור חיבורים שאינם מקושרים לתילים (לא חיבורי ברירת מחדל) באמצעות CreateConnection מתודה. אם המשתמש רוצה להשתמש בחיבורים אחרים (לא הראשי ולא ברירת המחדל) עליו להעביר חיבור זה במפורש כפרמטר של מתודה שהוא רוצה להשתמש בו. המשתמש יכול בנוסף ליצור כל מספר של חיבורים. חיבור ברירת מחדל יכול להיות רק אחד לכל תיל. יש לשים לב שחיבורי ברירת מחדל פועלים כראוי אם המשתמש משתמש באובייקטי Thread לתכנות מרובה משימות. אם המשתמש משתמש ב‑ConnectionPool או באובייקטי Task לתכנות מרובה משימות, מצב זה עלול להוביל להתנהגות שגויה של האפליקציה. כדי למנוע בעיה זו, על המשתמש לפרק ידנית את חיבור ברירת המחדל (אם הוא משתמש בו) בסיום ביצוע הקוד.
- ConnectionAsgmtType.UseMain לקוח הדוא"ל משתמש בחיבור הראשי לכל הפעולות מכמה תילים. החיבור הראשי הוא חיבור שנוצר יחד עם לקוח הדוא"ל. המשתמש לא יכול ליצור חיבורי ברירת מחדל. המשתמש יכול ליצור חיבורים שאינם מקושרים לתילים (לא חיבורי ברירת מחדל) באמצעות CreateConnection מתודה. אם המשתמש רוצה להשתמש בחיבורים אחרים (לא הראשי ולא ברירת המחדל) עליו להעביר חיבור זה במפורש כפרמטר של מתודה שהוא מעוניין להשתמש בו.
- ConnectionAsgmtType.UseDefault לקוח הדוא"ל משתמש במרומז רק בחיבורי ברירת מחדל לכל הפעולות מכמה תילים. חיבור ראשי אינו משמש במצב זה. אם חיבור ברירת מחדל לא נוצר עבור תיל מסוים (קריאה ראשונה למתודת לקוח הדוא"ל), לקוח הדוא"ל יוצר חיבור ברירת מחדל באופן מרומז עבור התיל לפני שהפעולה הראשונה מתבצעת. המשתמש אינו יכול ליצור חיבורי ברירת מחדל לתילים עם CreateConnectionמתודה מכיוון שהם נוצרים אוטומטית. כאשר חיבור ברירת מחדל לתיל נוצר, הוא משמש במרומז לכל המתודות של לקוח הדואר שמוזמנות בתיל זה. המשתמש יכול גם ליצור חיבורים שאינם מקושרים לתילים (לא חיבורי ברירת מחדל) באמצעות CreateConnectionמתודה. אם המשתמש רוצה להשתמש בחיבורים אחרים (לא הראשי ולא ברירת המחדל) עליו להעביר חיבור זה בפורמט מפורש כפרמטר של המתודה שהוא רוצה להשתמש בה. למשתמש ניתן additionally ליצור כל מספר של חיבורים. רק חיבור ברירת מחדל אחד יכול לשמש לכל תרחיש. יש לשים לב שחיבורי ברירת מחדל פועלים כראוי אם המשתמש משתמש באובייקטי Thread לתכנות מרובה משימות. אם המשתמש משתמש ב‑ConnectionPool או באובייקטי Task לתכנות מרובה משימות, מצב זה עלול להוביל להתנהגות שגויה של האפליקציה. כדי למנוע בעיה זו, על המשתמש לפרק ידנית את חיבור ברירת המחדל בסיום ביצוע הקוד.