本文整理汇总了C#中System.Security.Permissions.FileIOPermissionAttribute.FileIOPermissionAttribute构造函数的典型用法代码示例。如果您正苦于以下问题:C# FileIOPermissionAttribute构造函数的具体用法?C# FileIOPermissionAttribute怎么用?C# FileIOPermissionAttribute使用的例子?那么恭喜您, 这里精选的构造函数代码示例或许可以为您提供帮助。
在下文中一共展示了FileIOPermissionAttribute构造函数的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PermitOnlyMethod
// This sample demonstrates the use of the FileIOPermissionAttribute class.
// The sample follows the recommended procedure of first granting PermitOnly permissions,
// then using a Deny on that set of granted permissions.
using System;
using System.Reflection;
using System.Security.Permissions;
using System.Security;
using System.IO;
class MyClass
{
// This method demonstrates the use of the FileIOPermissionAttribute to create a PermitOnly permission.
// Set the Read property.
[FileIOPermissionAttribute(SecurityAction.PermitOnly, Read = "C:\\")]
// Set the PathDiscovery property.
[FileIOPermissionAttribute(SecurityAction.PermitOnly,
PathDiscovery = "C:\\Documents and Settings\\All Users")]
// Set the Append property.
[FileIOPermissionAttribute(SecurityAction.PermitOnly,
Append = "C:\\Documents and Settings\\All Users\\Application Data")]
// Set the Write property.
[FileIOPermissionAttribute(SecurityAction.PermitOnly,
Write = "C:\\Documents and Settings\\All Users\\Application Data\\Microsoft")]
// Set the All property.
[FileIOPermissionAttribute(SecurityAction.PermitOnly,
All = "C:\\Documents and Settings\\All Users\\Application Data\\Microsoft\\Network")]
public static void PermitOnlyMethod()
{
Console.WriteLine("Executing PermitOnlyMethod.");
Console.WriteLine("PermitOnly the Read permission for drive C.");
Console.WriteLine("PermitOnly the PathDiscovery permission for \n\tC:\\Documents and Settings\\All Users.");
Console.WriteLine("PermitOnly the Append permission for \n\tC:\\Documents and Settings\\All Users\\Application Data.");
Console.WriteLine("PermitOnly the Write permission for \n\tC:\\Documents and Settings\\All Users\\Application Data\\Microsoft.");
Console.WriteLine("PermitOnly the All permission for \n\tC:\\Documents and Settings\\All Users\\Application Data\\Microsoft\\Network.");
PermitOnlyTestMethod();
}
public static void PermitOnlyTestMethod()
{
Console.WriteLine("Executing PermitOnlyTestMethod.");
try
{
PermissionSet ps = new PermissionSet(PermissionState.None);
ps.AddPermission(new FileIOPermission(FileIOPermissionAccess.Write,
"C:\\Documents and Settings\\All Users\\Application Data\\Microsoft\\Network\\SomeFile"));
Console.WriteLine("Demanding permission to write " +
"'C:\\Documents and Settings\\All Users\\Application Data\\Microsoft\\Network\\SomeFile'");
ps.Demand();
Console.WriteLine("Demand succeeded.");
ps.AddPermission(
new FileIOPermission(FileIOPermissionAccess.Write,
"C:\\"));
Console.WriteLine("Demanding permission to write to drive C.");
// This demand should cause an exception.
ps.Demand();
// The TestFailed method is called if an exception is not thrown.
TestFailed();
}
catch (Exception e)
{
Console.WriteLine("An exception was thrown because of a write demand: " + e.Message);
}
}
public static void TestFailed()
{
Console.WriteLine("Executing TestFailed.");
Console.WriteLine("Throwing an exception.");
throw new Exception();
}
static void Main(string[] args)
{
try
{
PermitOnlyMethod();
}
catch (Exception e)
{
Console.WriteLine(e.Message.ToString());
}
}
}