आंद्रेई सही है - यह अशक्त है क्योंकि जब ASP.NET MVC फ्रेमवर्क के तहत चल रहा है, तो HttpContext (और इसलिए HttpContext.Session) सेट नहीं है जब नियंत्रक वर्ग आपके द्वारा अपेक्षित के रूप में बाधित हो जाता है, लेकिन यह बाद में ("इंजेक्शन") सेट हो जाता है नियंत्रक वर्ग द्वारा। यदि आप जीवनचक्र की बेहतर समझ चाहते हैं, तो आप ASP.NET MVC फ्रेमवर्क (स्रोत उपलब्ध है) को नीचे खींच सकते हैं या इसका संदर्भ ले सकते हैं: यह पृष्ठ
यदि आपको सत्र का उपयोग करने की आवश्यकता है, तो एक तरीका "ऑनएशन एक्जिक्यूटिंग" विधि को ओवरराइड करना होगा और वहां तक पहुंचना होगा, क्योंकि यह उस समय तक उपलब्ध होगा।
हालाँकि, जैसा कि आंद्रेई सुझाव दे रहा है, यदि आपका कोड सत्र पर निर्भर है, तो इकाई परीक्षण लिखना संभवतः मुश्किल हो सकता है, इसलिए शायद आप एक सहायक वर्ग में सत्र को लपेटने पर विचार कर सकते हैं जो तब एक अलग, गैर के लिए स्वैप किया जा सकता है। इकाई परीक्षणों के तहत चलने पर वेब संस्करण, इसलिए वेब से अपने नियंत्रक को डी-कपलिंग करना।