This is a viewer only at the moment see the article on how this works.
To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk
This is a preview from the server running through my markdig pipeline
.NET και κλειδωμένα αρχεία...
Friday, 20 February 2004
OK, ίσως ο καθένας μπορεί να εξηγήσει γιατί μπορώ να εγγυηθεί' θα ελέγξει ρητά αν μπορέσω να κλειδώσω ένα αρχείο πριν το διαβάσετε από αυτό ( θα διατηρήσει το . θα συμβεί., θα ελέγξετε ότι κανένας άλλος δεν εγγύησε- θα κλείσει το αρχείο προτού προσπαθήσει να το διαβάσει από αυτό. Ετικέτες FileSystemWatcher να περιμένετε για τα αρχεία που δημιουργούνται σε ένα δελτίο πριν από την εκκίνηση μιας εργασίας - καλά, αλλά δεν υπάρχει σίγουρα' φαίνεται να είναι οποιαδήποτε εύκολη μέθοδος για να ελέγξετε ότι το αρχείο είναι ΜSK2διαβάσιμη' πριν ξεκινήσετε να διαβάζετεM SK4 Τώρα ο τρόπος μου να κάνω αυτό το έργο είναι να προσπαθήσω να διαβάζω ΜSK5 και τοποθετήστε ένα Read lock - στο αρχείο χρησιμοποιώντας το Φιλοστέρμ και να συλλάβει το σφάλμα που ρίχνει όταν το αρχείο είναι κλειδωμένο από μια άλλη διαδικασία... αναφέρεται έτσιΜSK1 αλλά αυτό πραγματικά δεν κάνει' αναφέρομαι σωστά. αναφέρω ότι βάζω στο μυαλό της χρήσης εξαιρέσεων M SK4 αναφερόμενα επίσης REALLY αργήMK5 αναφέραμε για αυτόν τον τύπο εργασιών... αναφέρετε γιατί όχι' αναφέρει FileStreamMSKA8 αναφέρόμενοCanRead check for locks BEFORE opening the file
private static int m_ReadAttempts = 0;
private string ReadFileFromDisk(string filePath)
{
try
{
if(!File.Exists(filePath))
{
MessageBox.Show("Sorry, but the file specified " + Environment.NewLine + filePath + Environment.NewLine + "Cannot be found");
return string.Empty;
}
using(FileStream fs = new FileStream(filePath,FileMode.Open,FileAccess.Read,FileShare.Read))
{
using(StreamReader sr = new StreamReader(fs))
{
string tmpStr = sr.ReadToEnd();
sr.Close();
m_ReadAttempts =0;
return tmpStr;
}
}
}
catch(IOException ex)
{
if(m_ReadAttempts < 10)
{
Thread.Sleep(500);
m_ReadAttempts++;
return ReadFileFromDisk(filePath);
}
else
{
throw ex;
}
}
}