תרגול קריאות מרוחקות וחוזי בקשה¶
תרגיל ראשון - מה עושה הstub¶
בנו את הדוגמה, מצאו בקוד שנוצר את תיאור הפרמטרים ואת הקריאה לruntime, והשוו את client stub למימוש Compute בשרת. שנו את n לאפס ולמספר גדול מהמגבלה. תעדו האם הכשל התרחש לפני הכניסה למימוש השרת, באמצעות אירוע כניסה מפורש.
הסבירו מדוע בדיקת הטווח בIDL אינה מחליפה בדיקת הרשאה לפעולה אחרת שמוחקת רשומה.
תרגיל שני - ברירת מחדל מקומית¶
בנו client נוסף שמדלג על RpcBindingSetAuthInfoW, והשאירו את השרת כפי שהוא. תעדו בcallback האבטחה את קוד החזרה, שירות האימות ורמת האימות, ובדקו האם נכנסנו לCompute. אל תניחו שהיעדר קריאת תצורה בצד הלקוח פירושו היעדר זהות בקריאת ncalrpc.
השוו את התוצאה לתיעוד של transport מקומי. הוסיפו בנפרד מדיניות יישומית שדוחה מספר קלט מסוים, ובדקו שהדחייה מתרחשת גם כשהלקוח מאומת. הסבירו מדוע אין להסיק מתוצאת הבדיקה המקומית כיצד יתנהג חיבור RPC מעל TCP.
תרגיל שלישי - ניסיון חוזר¶
תכננו פעולה שמגדילה מונה מתמשך פעם אחת לכל מזהה בקשה של לקוח. הגדירו טיפול באותה בקשה שחוזרת עם אותו קלט, עם קלט שונה ואחרי restart של השרת. תעדו מה יקרה אם הכשל מגיע אחרי עדכון המונה ולפני שמירת תוצאת dedup.
בחרו אחסון שמאפשר לשמור את המונה ואת הכרעת הבקשה באותה טרנזקציה, או הסבירו איזה חוזה חלש יותר תחשפו אם אין אפשרות כזאת.