दिलचस्प पोस्ट
जबकि ($ row = mysql_fetch_array ($ परिणाम)) – कितने छोरों का प्रदर्शन किया जा रहा है? IOS में सभी संपर्क फ़ोन नंबर पुनर्प्राप्त करें पुश नोटिफिकेशन द्वारा लॉन्च किए जाने वाले ऐप को डीबग करना "बिटमैप बनावट में अपलोड होने के लिए बहुत बड़ी है" सी # में स्ट्रीम के साथ बड़ी पाठ फ़ाइलें पढ़ना उदाहरण विधि संदर्भ और लम्बा पैरा पैरामीटर आईई 7 जेड-इंडेक्स लेयरिंग मुद्दे शून्य भरा जावास्क्रिप्ट एरे बनाने के लिए सबसे कारगर तरीका है? स्काला में जावा कलेक्शन पर फिराना रेट्रोफिट 2.0 में हेडर जोड़ने के लिए इंटरसेप्टर का उपयोग कैसे करें मानक पायथन डॉकस्ट्रिंग प्रारूप क्या है? वेब-साइट को लैंडस्केप मोड में दिखाने के लिए मजबूर करना एंड्रॉइड स्टूडियो में जेक्सएक्सिंग को एकीकृत करें अलग ऊंचाई के साथ बूटस्ट्रैप द्रव ग्रिड प्रणाली विंडोज़ 8 पर पीएचपी मेल फ़ंक्शन के साथ ईमेल नहीं भेज सकता

विन्यास स्थान से कॉन्फ़िग लोड करने के लिए कॉन्फ़िगरेशन प्रबंधक का उपयोग करना

मैं एक डेटा एक्सेस घटक विकसित कर रहा हूं जिसका उपयोग वेबसाइट में किया जाएगा जिसमें क्लासिक एएसपी और एएसपी.नेट पेजों के मिश्रण होंगे, और इसकी कॉन्फ़िगरेशन सेटिंग्स को प्रबंधित करने के लिए एक अच्छा तरीका चाहिए।

मैं एक कस्टम ConfigurationSection का उपयोग करना चाहूंगा, और एएसपी.नेट पेजों के लिए यह महान काम करता है। लेकिन जब घटक क्लासिक एएसपी पृष्ठ से COM इंटरॉप के माध्यम से कहा जाता है, तो घटक ASP.NET अनुरोध के संदर्भ में नहीं चल रहा है और इसलिए web.config का कोई ज्ञान नहीं है

क्या ConfigurationManager को एक मनमाना मार्ग से विन्यास को लोड करने के लिए कहने का कोई तरीका है (जैसे ..\web.config यदि मेरी विधानसभा /bin फ़ोल्डर में है)? अगर वहाँ है तो मैं सोच रहा हूँ कि मेरा घटक उस पर वापस आ सकता है यदि डिफ़ॉल्ट ConfigurationManager.GetSection प्रबंधक। null मेरे कस्टम अनुभाग के लिए null जाता है।

इस के लिए कोई अन्य दृष्टिकोण स्वागत होगा!

वेब के समाधान से एकत्रित समाधान "विन्यास स्थान से कॉन्फ़िग लोड करने के लिए कॉन्फ़िगरेशन प्रबंधक का उपयोग करना"

इसे इस्तेमाल करे:

 System.Configuration.ConfigurationFileMap fileMap = new ConfigurationFileMap(strConfigPath); //Path to your config file System.Configuration.Configuration configuration = System.Configuration.ConfigurationManager.OpenMappedMachineConfiguration(fileMap); 

एक और समाधान डिफ़ॉल्ट वातावरण कॉन्फ़िगरेशन फ़ाइल पथ को ओवरराइड करना है।

मुझे यह गैर-तुच्छ-पथ विन्यास फ़ाइल लोड के लिए सबसे अच्छा समाधान मिल रहा है, विशेष रूप से डीएलएल को कॉन्फ़िगरेशन फ़ाइल संलग्न करने का सर्वोत्तम तरीका।

 AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", <Full_Path_To_The_Configuration_File>); 

उदाहरण:

 AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", @"C:\Shared\app.config"); 

इस ब्लॉग में अधिक जानकारी मिल सकती है

इसके अतिरिक्त, इस अन्य उत्तर में एक उत्कृष्ट समाधान है, ऐप कॉन्फ़िग को रीफ्रेश करने के लिए कोड के साथ पूरा किया गया है और एक IDisposable ऑब्जेक्ट को इसे मूल स्थिति में रीसेट करने के लिए है। इस समाधान के साथ, आप अस्थायी ऐप कॉन्फ़िग को सुरक्षित रख सकते हैं:

 using(AppConfig.Change(tempFileName)) { // tempFileName is used for the app config during this context } 

इश्माइल का जवाब आम तौर पर काम करता है, हालांकि मुझे एक समस्या मिली, जो कि OpenMappedMachineConfiguration का उपयोग मशीन से आपके वंशानुगत अनुभाग समूहों को OpenMappedMachineConfiguration से खोना है। इसका अर्थ है कि आप अपने स्वयं के कस्टम अनुभागों तक पहुंच सकते हैं (जो कि सभी ओपी चाहते हैं), लेकिन सामान्य सिस्टम अनुभाग नहीं। उदाहरण के लिए, यह कोड काम नहीं करेगा:

 ConfigurationFileMap fileMap = new ConfigurationFileMap(strConfigPath); Configuration configuration = ConfigurationManager.OpenMappedMachineConfiguration(fileMap); MailSettingsSectionGroup thisMail = configuration.GetSectionGroup("system.net/mailSettings") as MailSettingsSectionGroup; // returns null 

असल में, यदि आप configuration.SectionGroups पर एक घड़ी डालते हैं। समूह समूह, आप देखेंगे कि system.net एक सेक्शन ग्रुप के रूप में पंजीकृत नहीं है, इसलिए यह सामान्य चैनलों के माध्यम से बहुत अधिक दुर्गम है।

इस तरीके के आसपास काम करने के दो तरीके हैं I पहला, जिसे मैं पसंद नहीं करता, सिस्टम अनुभाग समूहों को machine.config से उन्हें अपने वेब में कॉन्फ़िगर करके पुन: लागू करना है। Config उदाहरण

 <sectionGroup name="system.net" type="System.Net.Configuration.NetSectionGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <sectionGroup name="mailSettings" type="System.Net.Configuration.MailSettingsSectionGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <section name="smtp" type="System.Net.Configuration.SmtpSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> </sectionGroup> </sectionGroup> 

मुझे यकीन नहीं है कि वेब अनुप्रयोग ही उसके बाद ठीक से चल जाएगा, लेकिन आप अनुभाग समूहों को सही तरीके से एक्सेस कर सकते हैं।

इसका दूसरा समाधान इसके बजाय अपने वेब। कॉन्फ़िग को एक एक्सई कॉन्फ़िगरेशन के रूप में खोलने के बजाय होता है, जो कि वैसे भी अपने इच्छित फ़ंक्शन के करीब है:

 ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap() { ExeConfigFilename = strConfigPath }; Configuration configuration = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None); MailSettingsSectionGroup thisMail = configuration.GetSectionGroup("system.net/mailSettings") as MailSettingsSectionGroup; // returns valid object! 

मैं यहां दिए गए उत्तरों में से कोई भी हिम्मत नहीं करता, न तो मेरा या इश्मेएल, इन कार्यों का काफी उपयोग कर रहे हैं कैसे .नेट डिजाइनर का इरादा है लेकिन, यह मेरे लिए काम करने लगता है

इश्मेएल के जवाब के अलावा, विधि OpenMappedMachineConfiguration() हमेशा एक Configuration ऑब्जेक्ट वापस करेगा। तो यह देखने के लिए कि क्या यह लोड किया गया है, जांचने के लिए आपको HasFile संपत्ति की जांच करनी चाहिए जहां सही है कि यह फ़ाइल से आया है

मैं होस्ट के लिए कॉन्फ़िगरेशन मान प्रदान की है .net compoent निम्नानुसार है।

एमएस वर्ड में एक नेट क्लास लायब्रेरी घटक जिसे होस्ट किया जाता है / होस्ट किया जाता है। अपने घटक के लिए कॉन्फ़िगरेशन मान प्रदान करने के लिए, मैंने Winword.exe.config को सी में बनाया: \ Program Files \ Microsoft Office \ OFFICE11 फ़ोल्डर आप परंपरागत .net में करते हैं जैसे विन्यास मूल्यों को पढ़ने में सक्षम होना चाहिए।

 string sMsg = System.Configuration.ConfigurationManager.AppSettings["WSURL"]; 

एएसपी। नेट का उपयोग वेबकॉन्फिगरेशन प्रबंधक के लिए:

 var config = WebConfigurationManager.OpenWebConfiguration("~/Sites/" + requestDomain + "/"); (..) config.AppSettings.Settings["xxxx"].Value; 

एक्सएमएल प्रसंस्करण का प्रयोग करें:

 var appPath = AppDomain.CurrentDomain.BaseDirectory; var configPath = Path.Combine(appPath, baseFileName);; var root = XElement.Load(configPath); // can call root.Elements(...)