Überprüfen auf Verzeichnis- und Dateischreibberechtigungen in .NET

In meiner .NET 2.0-Anwendung muss ich überprüfen, ob ausreichende Berechtigungen zum Erstellen und Schreiben von Dateien in ein Verzeichnis vorhanden sind. Zu diesem Zweck habe ich die folgende Funktion, die versucht, eine Datei zu erstellen und ein einzelnes Byte darauf zu schreiben, und sich anschließend selbst löscht, um zu testen, ob Berechtigungen vorhanden sind.

Ich dachte, der beste Weg, dies zu überprüfen, war, es tatsächlich zu versuchen und dabei alle auftretenden Ausnahmen zu erfassen. Ich bin nicht besonders glücklich über den allgemeinen Ausnahmefang. Gibt es also eine bessere oder vielleicht auch akzeptiertere Methode, dies zu tun?

private const string TEMP_FILE = "\\tempFile.tmp";

/// <summary>
/// Checks the ability to create and write to a file in the supplied directory.
/// </summary>
/// <param name="directory">String representing the directory path to check.</param>
/// <returns>True if successful; otherwise false.</returns>
private static bool CheckDirectoryAccess(string directory)
{
    bool success = false;
    string fullPath = directory + TEMP_FILE;

    if (Directory.Exists(directory))
    {
        try
        {
            using (FileStream fs = new FileStream(fullPath, FileMode.CreateNew, 
                                                            FileAccess.Write))
            {
                fs.WriteByte(0xff);
            }

            if (File.Exists(fullPath))
            {
                File.Delete(fullPath);
                success = true;
            }
        }
        catch (Exception)
        {
            success = false;
        }
    }

Antworten auf die Frage(8)

Ihre Antwort auf die Frage