आपके द्वारा दिए गए सीमित विवरण के आधार पर, मैं सिंगलटन चुनूंगा, क्योंकि उसके पास HttpContext.Current पर निर्भरता नहीं है, और एएसपी.Net पाइपलाइन के बाहर उपयोग किया जा सकता है (उदाहरण के लिए, जब आप इकाई परीक्षण लिखने के लिए चाहते हैं।)
इसके बाद आप इसे करने के लिए लिख पूरा कर लें, (एक के रूप में एक तरफ, जब आप ApplicationState में कुछ निर्धारित करते हैं, आप भी पहले उस पर Lock() कॉल करने के लिए, और फिर अनलॉक (आवश्यकता) सुनिश्चित करें कि यह थ्रेड सुरक्षित है।)
वैकल्पिक रूप से, जब आप अपना प्रोसेस मैनेजर बनाते हैं तो एक HttpContext के इंजेक्शन की अनुमति दें, जैसे कि आप इसे एक मॉक किए गए HttpContext के साथ उपयोग कर सकते हैं।