摘要:下面的Console应用程序在运行时会产生System.Security.SecurityException,请问从Demand No1到Demand No4,哪一个是造成这个SecurityException的语句,为什么?
using System;
using System.Security.Permissions;
[assembly:FileIOPermission(SecurityAction.RequestRefuse, Read="C:\\")]
namespace SecurityRequestRefuseDemo
{
class Class1
{
[STAThread]
static void
Main(string[] args)
{
FileIOPermission fileIOPermission = new FileIOPermission(FileIOPermissionAccess.Write, @"C:\");
fileIOPermission.Demand(); //Demand No.1
Testme1();
fileIOPermission = new FileIOPermission(FileIOPermissionAccess.Read, @"C:\");
fileIOPermission.Demand(); //Demand No.2
Testme2();
}
private static void Testme1()
{
FileIOPermission fileIOPermission = new FileIOPermission(FileIOPermissionAccess.Write, @"C:\");
fileIOPermission.Demand(); //Demand No.3
}
private static void Testme2()
{
FileIOPermission fileIOPermission = new FileIOPermission(FileIOPermissionAccess.Read, @"C:\");
fileIOPermission.Demand(); //Demand No.4
}
}
}
贴子以"现状"提供且没有任何担保也没有授予任何权利。...[
阅读全文]