Request is not available in this context - Application_Start
למה פתאום התחלנו לקבל את השגיאה Request is not available in this context אם ניגשים אליו מתוך ה - Application_Start.
במידה ואתם ניגשים ל - HttpContext.Current.Request בתוך ה - Applicatipon_Start בגרסאות IIS7.X האפליקצייה תתחיל להתרסק (מה שלא יקרה כמובן בזמן פיתוח היות שעובדים על השרת הפנימי של visual studio)
קצת חיפושים בגוגל -
והגעתי לכאן, מסתבר שבגרסאות קודמות של IIS היה מוד אחד בלבד של עבודה שנקרא classic ובו אפשר לגשת לאובייקט request גם ב - application_start לעומת זאת בגרסאות החדשות של IIS יש מוד חדש שנקרא Integrated ולא ניתן לבצע זאת.
ההחלטה מה המוד של האפליקציה מוגדרת ב - application pool - כלומר לכל application pool מוגדר באיזה מוד הוא עובד
לעצם הבעייה - לא מומלץ לעבוד עם classic מכיון שזה יאט את הביצועים ועדיף פשוט לא להשתמש עם אובייקט ה - request בזמן עליית האפליקציה.
במידה ואתם צריכים לדעת את הנתיב של האפליקציה תוכלו להשתמש ב - HttpRuntime.AppDomainAppVirtualPath.