错误信息 ACCESS TO PATH DENIY程序在创建文件的时候 程序在服务上出现的异常请问 能不能在程序中提前判断,以便及时给出提示
用户是否具备 指定文件目录或者磁盘的权限
用户是否具备 指定文件目录或者磁盘的权限
解决方案 »
- sql 特殊语句的替换字符
- 参数传递问题
- 递归实现的无限级下拉式菜单
- 为什么在编辑器里带样式提交信息时老出错? 点文本去除样式就能提交了?小弟很急在线等
- 菜菜菜鸟问题,关于数据库的,请各位高手解答!!
- 如何设置一个网页的url!!!!
- 关于水晶报表的客户端的连接数和使用时间问题,刚刚学习水晶报表,看看是否必须需要购买它?请大家明示,感谢了。
- 求一个或多个11位1开头数字加半角逗号的正则表达式,谢谢了
- asp.net数据缓存问题
- 奇怪:这段代码在windows Form应用中能取到打印机,但在web form中却不行??(在线等待!~)
- 求正则表达式字符串补0
- .net 范型如何判段一个类型是否是引用类型
C# fileInfo.create() 并没有返回信息 只能TRY 不过 创建失败 也可能有别的原因 所以 想寻找针对权限的判别办法 再次感谢您的帮助
在catch 中提示 对此目录无权限
UnauthorizedAccessException应该是你需要判断的异常。参考http://msdn.microsoft.com/en-us/library/d62kzs03(v=VS.90).aspxExceptions段描述了File.Create都会抛出什么异常。
可以分别判断下给不同提示
我一般用的少 有SQL异常 运行时异常 等等
FileIOPermission f2 = new FileIOPermission(FileIOPermissionAccess.Read, "C:\\test_r");
f2.AddPathList(FileIOPermissionAccess.Write | FileIOPermissionAccess.Read, "C:\\example\\out.txt");
try
{
f2.Demand();
}
catch (SecurityException s)
{
Console.WriteLine(s.Message);
}
参考
http://msdn.microsoft.com/en-us/library/system.security.permissions.fileiopermission.aspx
这段看过了想解决 获取IIS对文件是不是只读的权限
而不是 解决可以创建文件 或者 给文件添加写或者全控的权限
if(!file.isExists())
{
//文件存不存在
}能不能获得权限if(!file.canCreate())
{}
try
{
买东西
}
catch(不能买米Exception ex)
{
你当前不能买米,请联系管理员
}
catch(不能买面粉Exception ex)
{
你当前不能面粉,请联系管理员
}catch(Exception ex)
{
买东西出现未知异常,请联系管理员
}
FileIOPermission writePermission = new FileIOPermission(FileIOPermissionAccess.Write, filename); if (SecurityManager.IsGranted(writePermission))
{
using (FileStream fstream = new FileStream(filename, FileMode.Create))
using (TextWriter writer = new StreamWriter(fstream))
{
// try catch block for write permissions
writer.WriteLine("sometext");
}
}
else
{
//perform some recovery action here
}
不过估计你得测试一下,在一个目录下创建文件需要什么样的FileIOPermissionAccess不过我还是觉得用异常好点。