MarkusLe Geschrieben 2. Mai 2006 Geschrieben 2. Mai 2006 Hallo alle zusammen, ich suche eine Möglichkeit abzufragen welche .NET Rechte eine bestimmte .NET Methode zur Ausführung benötigt. File.Open(..) benötigt z.B. zur Ausführung die FileIOPermissions FileIOPermissionAccess.Read FileIOPermissionAccess.Write Bei Methoden die direkt implementiert sind (Nicht abstrakt, oder Interface) steht dies im Regelfall in der Dokumentation mit drin. Bei abstrakten, oder Interface Methoden steht dies (verständlicherweise) nicht mit drin, da dies ja auch schlecht festzustellen wäre, welche Rechte die Methode nach der späteren Implementation benötigt. Daher ist meine Frage ob es eine Möglichkeit gibt die benötigten Rechte einer bereits implementierten Methode abzufragen. z.B. Eine Methode wie [...].GetRequiredAuthorizationsOfMethod(Objekt.Methode), welche eine Liste mit den entsprechenden Rechten zurückliefert. Sehr interessant wäre das ganze natürlich auch auf Dateiebene um z.B. zu überprüfen welche Rechte eine *.exe Datei oder Bibliothek benötigt. [...].GetRequiredAuthorizationsOfFile(string filename). MfG MarkusLe
Whatever Geschrieben 3. Mai 2006 Geschrieben 3. Mai 2006 Hmmm...spontan fallen mir nur Exceptions ein: try { File.Open("foobar.exe"); } catch (UnauthorizedAccessException ex) { //... } Allerdings tritt die bei folgenden Dingen auf: System.UnauthorizedAccessException: path specified a file that is read-only.-or- This operation is not supported on the current platform.-or- path specified a directory.-or- The caller does not have the required permission. Genauer eingrenzen...hmmm
MarkusLe Geschrieben 4. Mai 2006 Autor Geschrieben 4. Mai 2006 Whatever, Exceptions sind nicht unbedingt eine praktikable Möglichkeit um die benötigten Berechtigungen einer Methode herauszufinden. In deinem Beispiel für File.Open(..) wäre z.B. die Doku die deutlich bessere Wahl^^ Da steht es zu dieser Methode drin. Deine Fehlermeldung sagt leider nicht besonders viel über die notwendigen Rechte (FileIOPermissionAccess.Read und FileIOPermissionAccess.Write) aus. In meinem Konkreten Fall geht es um die benötigten Rechte zur Ausführung CodeDom C#-Compilers.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden