Request is not available in this context – Application_Start

26 באוגוסט 2010

תגיות: , , , ,
אין תגובות


 



למה פתאום התחלנו לקבל את השגיאה 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 מוגדר באיזה מוד הוא עובד

 

application pool

 

 

לעצם הבעייה – לא מומלץ לעבוד עם classic מכיון שזה יאט את הביצועים ועדיף פשוט לא להשתמש עם אובייקט ה – request בזמן עליית האפליקציה.

 

במידה ואתם צריכים לדעת את הנתיב של האפליקציה תוכלו להשתמש ב – HttpRuntime.AppDomainAppVirtualPath.

 

 


 

לרשימת ההבדלים בין המודים (חשוב מאוד לקרוא)

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *