मैं एक साधारण वर्ग XmlFileHelper है पर फ़ाइल प्रकार है:C# xml.Load() ताला लगा डिस्क के कारण त्रुटियों
System.IO.IOException: The process cannot access the file ''C:\CvarUAT\ReportWriterSettings.xml'' **because it is being used by another process**
:
public class XmlFileHelper
{
#region Private Members
private XmlDocument xmlDoc = new XmlDocument();
private string xmlFilePath;
#endregion
#region Constructor
public XmlFileHelper(string xmlFilePath)
{
this.xmlFilePath = xmlFilePath;
xmlDoc.Load(xmlFilePath);
}
#endregion
#region Public Methods
public XmlNode SelectSingleNode(string xPathQuery)
{
return xmlDoc.SelectSingleNode(xPathQuery);
}
public string GetAttributeValueByName(XmlNode node, string attributeName)
{
return node.Attributes.GetNamedItem(attributeName).Value;
}
#endregion
#region Public Properties
public string XmlFilePath
{
get
{
return xmlFilePath;
}
}
#endregion
}
मुद्दा मैं लोड पर निम्न त्रुटि हो रही है है ऐसा तब होता है जब इस वर्ग का उपयोग उपरोक्त xml फ़ाइल को लोड करने का प्रयास करने वाले समानांतर में चल रहे घटक के दो चलने वाले उदाहरणों द्वारा किया जाता है, यह वैध व्यवहार है और एप्लिकेशन द्वारा आवश्यक है।
मैं केवल एक बार एक्सएमएल डिस्क में पढ़ना चाहता हूं और डिस्क पर फ़ाइल का कोई संदर्भ जारी करना चाहता हूं और उस बिंदु से स्मृति प्रतिनिधित्व में उपयोग करना चाहता हूं।
मुझे लगता है कि लोड एक पठनीय फैशन में काम करता है और फ़ाइल को लॉक करने की कोई आवश्यकता नहीं होगी, वांछित परिणाम प्राप्त करने और इस मुद्दे को पाने के लिए मेरा सबसे अच्छा तरीका क्या है?
धन्यवाद
मैं इसे अभी आज़मा रहा हूं, धन्यवाद – m3ntat
उत्कृष्ट यह चाल है! – m3ntat