मैं global.asax.cs पर निर्भरताओं को इंजेक्ट कैसे करूं, यानी एमवीसी अनुप्रयोग वर्ग?global.asax.cs पर निर्भरताओं को इंजेक्ट कैसे करें
पहले निर्भरता इंजेक्शन के लिए सेवा लोकेटर (एंटी-) पैटर्न का उपयोग करने के बाद, मैं एक आईओसी कंटेनर (विशेष रूप से Unity.Mvc3) का उपयोग कर अपने नवीनतम एमवीसी अनुप्रयोग में सर्वोत्तम अभ्यास सलाह का पालन करने की कोशिश कर रहा हूं क्योंकि यह कार्यान्वयन के साथ आता है बॉक्स पर बाहर निर्भरता रिसेल्वर) और कन्स्ट्रक्टर इंजेक्शन।
कुछ स्नैग को छोड़कर अब तक काफी सीधे आगे लगता है, जिनमें से एक global.asax.cs में है (दूसरा कस्टम विशेषताओं के लिए है लेकिन एसओ कवर पर एक सवाल है)।
जैसे MvcApplication कक्षा में HttpApplication ईवेंट हैंडलर्स:
Application_Start()
Application_EndRequest(object sender, EventArgs e)
Application_AcquireRequestState(object sender, EventArgs e)
बाहरी निर्भरता, जैसे की आवश्यकता हो सकती एक ILogService पर निर्भरता। तो मैं सेवा लोकेटर (एंटी-) पैटर्न का उपयोग किए बिना उन्हें कैसे इंजेक्ट कर सकता हूं उदा।
private static ILogService LogService
{
get
{
return DependencyResolver.Current.GetService<ILogService>();
}
}
किसी भी मदद/सलाह की बहुत सराहना की!
हाय, दिलचस्प सवाल! OnApplicationStarted में आप अपने global.asax के भीतर निर्भरताओं को इंजेक्ट क्यों नहीं कर सकते? यदि आवेदन शुरू नहीं हो सकता है तो आप इसके बारे में अवगत होंगे क्योंकि कुछ भी काम नहीं करेगा ... –