פתרון פרויקט שרת ורכיב שולחן עבודה¶
הפתרון משאיר את הUI thread פנוי להודעות ומעביר עבודה ארוכה למסלול אסינכרוני. התוצאה חוזרת דרך מנגנון שמתאים לבעלות החלון ולapartment של המקבל. לפני פרסום תוצאה בודקים שההרשמה של החלון עדיין פעילה, ובכל מקרה מנקים את אובייקט הניסיון המקורי.
הקריאה בין apartments משתמשת בmarshaling המתאים. במהלך המתנה בSTA בודקים אם נדרש message pumping, אך לא מוסיפים pump שרירותי בלי להבין reentrancy. הקוד אינו מחזיק invariant שבור בזמן קריאה חיצונית שיכולה לחזור אליו.
החיבור המוצפן בודק certificate וhostname באמצעות החוזה של הספרייה שנבחרה. כשל זהות אינו הופך לsuccess דרך דגל שמדלג על הבדיקה. מגבלת bytes מוחלת גם כאשר התגובה מועברת בחלקים וגם כאשר header אינו מספק אורך סופי אמין.
התקיעה בSTA משוחזרת באמצעות worker שמנסה לקרוא לinterface של בעלים שאינו שואב הודעות. כשל הרשת משוחזר בנפרד באמצעות certificate לא מתאים או server שמפסיק באמצע body. התיקון הראשון משנה זרימת שליטה; השני משנה טיפול בכשל transport או בתצורת המעבדה. העלאת timeout אינה מוכיחה אף אחד מהם.
החבילה שומרת גרסת interface, תלות runtime ומזהה build. בודקים client ישן מול server חדש לפי חוזה versioning. סמלים נשמרים עבור הבינארי שנמסר, והחקירה משתמשת בו גם אם source הראשי כבר השתנה.
הקבלה דורשת trace של פעולה מוצלחת ושל שני הכשלים, נתוני responsiveness ושחרור references אחרי מחזורי פתיחה וסגירה. הצלחה של בקשת HTTPS אחת אינה מספיקה להוכיח את חיי הרכיב השלם.