2013-10-25 10 views
5

पर बाध्यकारी मैं एक आवेदन है कि मैं वर्तमान मेंNinject क्रम

पर काम कर रहा हूँ में एक निश्चित परिदृश्य से देख रहा हूँ मैं एक व्यवस्थापक अधिकारी एक आवेदन में सिस्टम विस्तृत सेटिंग में बदलाव करने में सक्षम होना चाहता हूँ।

public class ApplicationSettings 
{ 
//bla bla bla 

} 

स्टार्टअप पर, मैं निम्नलिखित है

public static void RegisterServices(IKernel kernel) 
{ 
    kernel.Bind<ApplicationSettings>().ToSelf().InSingletonScope(); 
} 

बाध्यकारी सभी अच्छी तरह से और अच्छा है के रूप में मैं समझता हूँ कि आवेदन सेटिंग्स का एक ही उदाहरण गिरी के रूप में रूप में लंबे समय के लिए परोसा जाएगा सक्रिय है

मेरा प्रश्न यह है। अगर मुझे रनटाइम पर एप्लिकेशन सेटिंग्स को बदलना है तो क्या होगा। और मैं इस

public void ChangeSettings(IKernel kernel, ApplicationSettings setting) 
{ 
    var setting = kernel.Get<ApplicationSettings>(); 
    //change the values of the instance 
} 

प्रश्न, मैं कैसे गिरी तो पर बाद में होने संदर्भ बाध्यकारी अद्यतन करते हैं की तरह कुछ करने के लिए यह संभव हो जाएगा automaticcally गिरी

में ApplicationSettings उदाहरण के मूल्य में परिवर्तन करना चाहते हैं सिंगलटन उदाहरण नए संशोधित संस्करण के लिए

धन्यवाद

उत्तर

10

क्या rebind < के बारे में> संदर्भित करेंगे?

public void ChangeSettings(IKernel kernel, ApplicationSettings setting) 
{ 
    var setting = kernel.Get<ApplicationSettings>(); 
    kernel.Rebind<ApplicationSettings>().ToConstant(setting); 
}