2011-05-20 19 views
8

में वेब कॉन्फ़िगरेशन फ़ाइलों का उपयोग कैसे करें I Silverlight में मेरी वेब कॉन्फ़िगरेशन फ़ाइलों का उपयोग करने का प्रयास कर रहा हूं।सिल्वरलाइट

मैं web.config में निम्नलिखित डाल दिया है:

<configuration> 
    <appSettings> 
    <add key="FileHeader" value="file://***.com/Builds/"/> 
    <add key="WebHeader" value="http://***.com/dev/builds"/>  
    </appSettings> 

इम उनकी तरह

string temp= System.Configuration!System.Configuration.ConfigurationManager.AppSettings.Get("FileHeader"); 

उपयोग करने के लिए हालांकि यह काम नहीं करता की कोशिश कर रहा है, यह एक त्रुटि "केवल काम, कॉल प्रदान करता है , वृद्धि, कमी ... का उपयोग कथन के रूप में किया जा सकता है "

उत्तर

8

आप अपने Silverlight अनुप्रयोग से web.config नहीं पढ़ सकते हैं क्योंकि कॉन्फ़िगरेशन नेमस्पेस SL .NET Framework में मौजूद नहीं है, लेकिन wh आप कर सकते हैं पर है इस:

public static string GetSomeSetting(string settingName) 
     { 
      var valueToGet = string.Empty; 
      var reader = XmlReader.Create("XMLFileInYourRoot.Config"); 
      reader.MoveToContent(); 

      while (reader.Read()) 
      { 
       if (reader.NodeType == XmlNodeType.Element && reader.Name == "add") 
       { 
        if (reader.HasAttributes) 
        { 
         valueToGet = reader.GetAttribute("key"); 
         if (!string.IsNullOrEmpty(valueToGet) && valueToGet == setting) 
         { 
          valueToGet = reader.GetAttribute("value"); 
          return valueToGet; 
         } 
        } 
       } 
      } 

      return valueToGet; 
     } 
+0

SL *** सर्वर में फ़ाइल करने के लिए *** तक नहीं पहुंच सकता है, है ना? 'XMLFileInYourRoot.Config' कहां है? – Kiquenet

19

आप अपने Silverlight आवेदन से web.config नहीं पढ़ सकते हैं क्योंकि सिल्वरलाइट आवेदन ग्राहक पर (ब्राउज़र में) और नहीं सर्वर पर चलाता है।

अपने सर्वर कोड से

आप

string temp = Configuration.ConfigurationManager.AppSettings["FileHeader"]; 

साथ एप्लिकेशन सेटिंग एक्सेस कर सकते लेकिन आप उन्हें ग्राहक के लिए भेज दिया। तुम कर सकते हो कि InitParams का उपयोग कर

<param name="initParams" value="param1=value1,param2=value2" /> 

अपने सर्वर कोड के भीतर (Default.aspx के Page_Load) द्वारा आप सभी AppSettings के माध्यम से लूप सकता है और गतिशील रूप initParams के लिए मूल्य पैदा करते हैं।

सिल्वरलाइट आवेदन में आप Application_Startup घटना में पैरामीटर का उपयोग कर सकते हैं:

private void Application_Startup(object sender, StartupEventArgs e) 
{   
    this.RootVisual = new Page(); 
    if (e.InitParams.ContainsKey("param1")) 
     var p1 = e.InitParams["param1"]; 
} 
सभी मापदंडों के माध्यम से

या पाश और उन्हें एक विन्यास शब्दकोश में संग्रहीत करते हैं। इस तरह आपके पास क्लाइंट पर सिल्वरलाइट एप्लिकेशन में आपकी ऐप सेटिंग्स हैं।

1

कॉन्फ़िगर सिल्वरलाइट 3 उपरोक्त लेख का संपादित या अगले संस्करण ASP.NET से Web.config फ़ाइल का उपयोग कर
http://www.codeproject.com/Articles/49490/Configure-Silverlight-3-Applications-using-the-Web

आवेदन प्रकाशित किया जाता है और इस जरूरत को web.config लिए पीछा किया जाना configuration- http://www.codeproject.com/Articles/56097/A-More-Flexible-and-Secure-Method-to-Configure-Sil