2009-09-25 15 views
6

मैं follwing समारोह का इस्तेमाल किया है उपयोगकर्ता अनुप्रयोग फ़ोल्डरसमान अनुप्रयोग डेटा फ़ोल्डर में फ़ाइलें लिख

private void WriteToLog(string source, string method, string msg) 
{ 

string LogFile =Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "\\test";    
LogFile = LogFile + "\\Log.txt"; 
StreamWriter sw = new StreamWriter(LogFile, true); 
string str = DateTime.Now.ToString() + "source=" + source + "\t Method=" + method + "\t" + msg; 
sw.WriteLine(str); 
sw.Flush(); 
sw.Close(); 
} 

ऊपर कोड व्यवस्थापक खातों में पूरी तरह से काम करने के लिए डेटा लिखने के लिए इनकार किया, लेकिन सीमित उपयोगकर्ता में असफल खातों

+2

यदि आप Path.Combine का उपयोग करते हैं तो कोड थोड़ा क्लीनर होगा। – epotter

उत्तर

13

सीमित उपयोगकर्ताओं के पास आमतौर पर उन फ़ोल्डरों तक पहुंच पहुंच नहीं होती है जो सभी उपयोगकर्ताओं के लिए आम हैं। क्या आप वाकई एक अलग फ़ोल्डर में लिखने का मतलब नहीं हैं?

उदाहरण के लिए, आप Environment.SpecialFolder.ApplicationData (वर्तमान उपयोगकर्ता, रोमिंग डेटा) या Environment.SpecialFolder.LocalApplicationData (वर्तमान उपयोगकर्ता, गैर-रोमिंग डेटा) का उपयोग कर सकते हैं।

+0

सीमित उपयोगकर्ता खातों के लिए मैं कौन सा फ़ोल्डर चुनता हूं –

+2

परंपरागत रूप से, आप उपयोगकर्ता-विशिष्ट सामग्री के लिए एप्लिकेशनडाटा का उपयोग करेंगे, लेकिन केवल उस कंप्यूटर तक सीमित नहीं हैं, और स्थानीय-विशिष्टता डेटा जो उपयोगकर्ता-विशिष्ट और कंप्यूटर-विशिष्ट (उदाहरण के लिए डेटा) कंप्यूटर के स्थापित सॉफ़्टवेयर या स्थापना पथ पर निर्भर करता है)। –

+0

तो कोई सीमित पहुंच के साथ गैर-उपयोगकर्ता विशिष्ट डेटा कहां रखेगा? –

संबंधित मुद्दे