משיב מוביל
HTTP Message lifecycle

שאלה
-
שלום לכולם!
יש לי בעיה עם שירות web api.
כל פעם אחרי שאין שימוש במשך X זמן בשירותים מאתר מסוים, הפעם הראשונה שקוראים לשירות נתקעת ולא חוזרת תשובה, ואח"כ הכל עובר חלק.
ניסיתי למצוא את המקום שהשירות נתקע בו.
השאלה שלי, היא:
איפה המפגש הראשון של הקוד עם request מסוים?
שמתי כתיבה ללוג בפונקציה: Application_BeginRequest על הglobal.asax ולשם הmessage לא הספיק להגיע.
יכול להיות שזה עוד לפני שההודעה מגיעה לקוד. :(
אולי יש בעיה עם ההגדרה בIIS?
אשמח לרעיונות אין להתחיל לבדוק...
תודה!
שרה.
תשובות
-
תודה על העזרה!!
שיניתי בהגדרות לפי המאמר שצרפת, מקווה שזה יעזור.
אבל בכל אופן הייתי שמחה לדעת איפה המקום הראשון שאני יכולה לתפוס את הrequest בקוד.
האם זה באמת Application_BeginRequest בglobal.asax או שיש מקום קודם?
שוב תודה על הכל!!!!
שרה.
אהלן,
על מנת לבין את כל התהליך המלאה משליחת הבקשה הראשונה של הלקוח (הדפדפן) ועד לקבלת התשובה הסופית מהשרת אל הלקוח (ה HMTL שבו עושה שימוש הדפדפן כדי להציג את התוכן), יש צורך ללמוד מעט על נושא רשתות תקשורות ופרוטוקול HTTP. הרבה מהתשורות מבוצעת לפני שמגיעים בכלל לאפליקציה (אחרי הכל המכונה שמקבלת את הבקשה למידע צריכה להפנות את הבקשה לאפיקציה המתאימה כדי שתנהל אותה (מערכות וידוס עובדות בשיטת הודעות והאזנה להודעות, ובמקרה הנוכחי מי שמאזין להודעות הוא ה IIS).
בכל מקרה הרבה מהחלק הראשון לא בשליטה שלך או פשוט לא נהוג לבצע בו שינויים. מה שחשוב כנראה מבחינת השאלה כאן זה התהליך שקשור לצד האפליקציה, ולצורך כך אני ממלי לבדוק את הקישורים הבאים:
Lifecycle of an ASP.NET MVC 5 Application
בקישור מעל יש קישורים לקבצי PDF עם מידעInside ASP.NET MVC: Route to MvcHandler
Ronen Ariely
[Personal Site] [Blog] [Facebook] [Linkedin]- סומן כתשובה על-ידי administrative_account_raOwner יום שלישי 22 מרץ 2022 00:14
כל התגובות
-
אהלן שרה,
אני לא יכול לדעת בוודאות מה הבעיה בלי עוד מידע, אבל הכיוון הראשון שאני הייתי בודק זה בדיוק מה שהזכרת "הגדרות ב IIS" :-)
ישנה הגדרה ב IIS שמאפשרת לשמור את האפליקציה חיה על "לכבות" אם אין פעילות. מערכות Service שמבוססות על שירות שפועל תחת ה IIS אכן מתנהגות בדיוק כמו שתיארת במקרה שה IIS מוגדר לא לשמור את האתר חי ה application pool נעצר לאחר זמן מסוים ללא פעילות.
תבדקי את הקישור הבא:
https://thycotic.force.com/support/s/article/Changing-IIS-to-not-stop-worker-process-in-IIS-7-and-8
Ronen Ariely
[Personal Site] [Blog] [Facebook] [Linkedin]- נערך על-ידי pituachMVP, Moderator יום שני 18 יוני 2018 23:37
-
-
תודה על העזרה!!
שיניתי בהגדרות לפי המאמר שצרפת, מקווה שזה יעזור.
אבל בכל אופן הייתי שמחה לדעת איפה המקום הראשון שאני יכולה לתפוס את הrequest בקוד.
האם זה באמת Application_BeginRequest בglobal.asax או שיש מקום קודם?
שוב תודה על הכל!!!!
שרה.
אהלן,
על מנת לבין את כל התהליך המלאה משליחת הבקשה הראשונה של הלקוח (הדפדפן) ועד לקבלת התשובה הסופית מהשרת אל הלקוח (ה HMTL שבו עושה שימוש הדפדפן כדי להציג את התוכן), יש צורך ללמוד מעט על נושא רשתות תקשורות ופרוטוקול HTTP. הרבה מהתשורות מבוצעת לפני שמגיעים בכלל לאפליקציה (אחרי הכל המכונה שמקבלת את הבקשה למידע צריכה להפנות את הבקשה לאפיקציה המתאימה כדי שתנהל אותה (מערכות וידוס עובדות בשיטת הודעות והאזנה להודעות, ובמקרה הנוכחי מי שמאזין להודעות הוא ה IIS).
בכל מקרה הרבה מהחלק הראשון לא בשליטה שלך או פשוט לא נהוג לבצע בו שינויים. מה שחשוב כנראה מבחינת השאלה כאן זה התהליך שקשור לצד האפליקציה, ולצורך כך אני ממלי לבדוק את הקישורים הבאים:
Lifecycle of an ASP.NET MVC 5 Application
בקישור מעל יש קישורים לקבצי PDF עם מידעInside ASP.NET MVC: Route to MvcHandler
Ronen Ariely
[Personal Site] [Blog] [Facebook] [Linkedin]- סומן כתשובה על-ידי administrative_account_raOwner יום שלישי 22 מרץ 2022 00:14