私のアプリケーションでは、フォルダに書き込む権限があるかどうかを確認する必要があります。私は次の方法を使用します:
public bool IsAvailable(string path)
{
bool hasPermissions = false;
if (Directory.Exists(path))
{
var permission = new FileIOPermission(FileIOPermissionAccess.Write, path);
try
{
permission.Demand();
hasPermissions = true;
}
catch(SecurityException e)
{
hasPermissions = false;
}
}
return hasPermissions;
}
誰もアクセスできないことが確実にわかっているフォルダへのパスを指定すると(フォルダのプロパティの[セキュリティ]タブですべてのユーザーのすべてのアクセス許可を削除しました)、例外はスローされません。tryブロックに沿って続行します。
このチェックをより適切に行う理由または方法はありますか?
他の質問で見つけたAppDomain.PermissionSetプロパティ関連の回答は成功しませんでした。
前もって感謝します。