我对此属性感到困惑,如此处所述,http://msdn.microsoft.com/en-us/library/system.security.permissions.securityattribute.unrestricted.aspx我们可以将其设置为完整或不完整。
我的困惑是为了获得直截了当的理解的权限,应该只有两种状态-授予和不授予,完全和不完全是什么意思?
最佳答案
我以前以经典方式使用了Unrestricted属性:
以下代码是一个请求,指出程序集必须具有对文件系统的不受限制的访问权才能起作用。
using System.Security.Permissions;
// Indicates that FileIOPermission is required to run this assembly.
[assembly:FileIOPermission(SecurityAction.RequestMinimum, Unrestricted=true)]
public class FileManager
{
// Insert code to add and delete files.
}
在这种情况下,Unrestricted = false表示执行该方法不需要文件访问。
与“ oppisite”相反,“ oppisite”要求执行该方法才能禁止文件访问。
在大多数情况下,可以动态创建SecurityAction(Unrestricted = true || false),通常第一种情况更有意义。