SecurityPermission 构造函数
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
初始化 SecurityPermission 类的新实例。
重载
SecurityPermission(PermissionState) |
根据指定,使用受限制或不受限制的权限初始化 SecurityPermission 类的新实例。 |
SecurityPermission(SecurityPermissionFlag) |
初始化具有指定标志初始设置状态的 SecurityPermission 类的一个新实例。 |
SecurityPermission(PermissionState)
根据指定,使用受限制或不受限制的权限初始化 SecurityPermission 类的新实例。
public:
SecurityPermission(System::Security::Permissions::PermissionState state);
public SecurityPermission (System.Security.Permissions.PermissionState state);
new System.Security.Permissions.SecurityPermission : System.Security.Permissions.PermissionState -> System.Security.Permissions.SecurityPermission
Public Sub New (state As PermissionState)
参数
- state
- PermissionState
PermissionState 值之一。
例外
state
参数不是 PermissionState 的有效值。
注解
创建完全受限 (None
) 或 Unrestricted
对所有安全权限的访问权限。
适用于
SecurityPermission(SecurityPermissionFlag)
初始化具有指定标志初始设置状态的 SecurityPermission 类的一个新实例。
public:
SecurityPermission(System::Security::Permissions::SecurityPermissionFlag flag);
public SecurityPermission (System.Security.Permissions.SecurityPermissionFlag flag);
new System.Security.Permissions.SecurityPermission : System.Security.Permissions.SecurityPermissionFlag -> System.Security.Permissions.SecurityPermission
Public Sub New (flag As SecurityPermissionFlag)
参数
权限的初始状态使用由 SecurityPermissionFlag 定义的任何权限位的位 OR 组合来表示。
例外
flag
参数不是 SecurityPermissionFlag 的有效值。
示例
下面的代码示例演示如何使用 SecurityPermission 构造函数创建类的 SecurityPermission 实例,这些实例用于要求安全权限。 有关完整的代码示例,请参阅 SecurityPermissionAttribute(SecurityAction) 构造函数。
static void DemandSecurityPermissions()
{
Console::WriteLine( "\nExecuting DemandSecurityPermissions.\n" );
try
{
SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::Assertion );
Console::WriteLine( "Demanding SecurityPermissionFlag::Assertion" );
sp->Demand();
Console::WriteLine( "Demand for SecurityPermissionFlag::Assertion succeeded." );
}
catch ( Exception^ e )
{
Console::WriteLine( "Demand for SecurityPermissionFlag::Assertion failed: {0}", e->Message );
}
try
{
SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::ControlAppDomain );
Console::WriteLine( "Demanding SecurityPermissionFlag::ControlAppDomain" );
sp->Demand();
Console::WriteLine( "Demand for SecurityPermissionFlag::ControlAppDomain succeeded." );
}
catch ( Exception^ e )
{
Console::WriteLine( "Demand for SecurityPermissionFlag::ControlAppDomain failed: {0}", e->Message );
}
try
{
SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::ControlDomainPolicy );
Console::WriteLine( "Demanding SecurityPermissionFlag::ControlDomainPolicy" );
sp->Demand();
Console::WriteLine( "Demand for SecurityPermissionFlag::ControlDomainPolicy succeeded." );
}
catch ( Exception^ e )
{
Console::WriteLine( "Demand for SecurityPermissionFlag::ControlDomainPolicy failed: {0}", e->Message );
}
try
{
SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::ControlEvidence );
Console::WriteLine( "Demanding SecurityPermissionFlag::ControlEvidence" );
sp->Demand();
Console::WriteLine( "Demand for SecurityPermissionFlag::ControlEvidence succeeded." );
}
catch ( Exception^ e )
{
Console::WriteLine( "Demand for SecurityPermissionFlag::ControlEvidence failed: {0}", e->Message );
}
try
{
SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::ControlPolicy );
Console::WriteLine( "Demanding SecurityPermissionFlag::ControlPolicy" );
sp->Demand();
Console::WriteLine( "Demand for SecurityPermissionFlag::ControlPolicy succeeded." );
}
catch ( Exception^ e )
{
Console::WriteLine( "Demand for SecurityPermissionFlag::ControlPolicy failed: {0}", e->Message );
}
try
{
SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::ControlPrincipal );
Console::WriteLine( "Demanding SecurityPermissionFlag::ControlPrincipal" );
sp->Demand();
Console::WriteLine( "Demand for SecurityPermissionFlag::ControlPrincipal succeeded." );
}
catch ( Exception^ e )
{
Console::WriteLine( "Demand for SecurityPermissionFlag::ControlPrincipal failed: {0}", e->Message );
}
try
{
SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::ControlThread );
Console::WriteLine( "Demanding SecurityPermissionFlag::ControlThread" );
sp->Demand();
Console::WriteLine( "Demand for SecurityPermissionFlag::ControlThread succeeded." );
}
catch ( Exception^ e )
{
Console::WriteLine( "Demand for SecurityPermissionFlag::ControlThread failed: {0}", e->Message );
}
try
{
SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::Execution );
Console::WriteLine( "Demanding SecurityPermissionFlag::Execution" );
sp->Demand();
Console::WriteLine( "Demand for SecurityPermissionFlag::Execution succeeded." );
}
catch ( Exception^ e )
{
Console::WriteLine( "Demand for SecurityPermissionFlag::Execution failed: {0}", e->Message );
}
try
{
SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::Infrastructure );
Console::WriteLine( "Demanding SecurityPermissionFlag::Infrastructure" );
sp->Demand();
Console::WriteLine( "Demand for SecurityPermissionFlag::Infrastructure succeeded." );
}
catch ( Exception^ e )
{
Console::WriteLine( "Demand for SecurityPermissionFlag::Infrastructure failed: {0}", e->Message );
}
try
{
SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::RemotingConfiguration );
Console::WriteLine( "Demanding SecurityPermissionFlag::RemotingConfiguration" );
sp->Demand();
Console::WriteLine( "Demand for SecurityPermissionFlag::RemotingConfiguration succeeded." );
}
catch ( Exception^ e )
{
Console::WriteLine( "Demand for SecurityPermissionFlag::RemotingConfiguration failed: {0}", e->Message );
}
try
{
SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::SerializationFormatter );
Console::WriteLine( "Demanding SecurityPermissionFlag::SerializationFormatter" );
sp->Demand();
Console::WriteLine( "Demand for SecurityPermissionFlag::SerializationFormatter succeeded." );
}
catch ( Exception^ e )
{
Console::WriteLine( "Demand for SecurityPermissionFlag::SerializationFormatter failed: {0}", e->Message );
}
try
{
SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::SkipVerification );
Console::WriteLine( "Demanding SecurityPermissionFlag::SkipVerification" );
sp->Demand();
Console::WriteLine( "Demand for SecurityPermissionFlag::SkipVerification succeeded." );
}
catch ( Exception^ e )
{
Console::WriteLine( "Demand for SecurityPermissionFlag::SkipVerification failed: {0}", e->Message );
}
try
{
SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::UnmanagedCode );
Console::WriteLine( "Demanding SecurityPermissionFlag::UnmanagedCode" );
sp->Demand();
Console::WriteLine( "Demand for SecurityPermissionFlag::UnmanagedCode succeeded." );
}
catch ( Exception^ e )
{
Console::WriteLine( "Demand for SecurityPermissionFlag::UnmanagedCode failed: {0}", e->Message );
}
}
public static void DemandSecurityPermissions()
{
Console.WriteLine("\nExecuting DemandSecurityPermissions.\n");
try
{
SecurityPermission sp =
new SecurityPermission(SecurityPermissionFlag.Assertion);
Console.WriteLine("Demanding SecurityPermissionFlag.Assertion");
sp.Demand();
Console.WriteLine("Demand for SecurityPermissionFlag.Assertion succeeded.");
}
catch (Exception e)
{
Console.WriteLine("Demand for SecurityPermissionFlag.Assertion failed: " + e.Message);
}
try
{
SecurityPermission sp =
new SecurityPermission(SecurityPermissionFlag.ControlAppDomain);
Console.WriteLine("Demanding SecurityPermissionFlag.ControlAppDomain");
sp.Demand();
Console.WriteLine("Demand for SecurityPermissionFlag.ControlAppDomain succeeded.");
}
catch (Exception e)
{
Console.WriteLine("Demand for SecurityPermissionFlag.ControlAppDomain failed: " + e.Message);
}
try
{
SecurityPermission sp =
new SecurityPermission(SecurityPermissionFlag.ControlDomainPolicy);
Console.WriteLine("Demanding SecurityPermissionFlag.ControlDomainPolicy");
sp.Demand();
Console.WriteLine("Demand for SecurityPermissionFlag.ControlDomainPolicy succeeded.");
}
catch (Exception e)
{
Console.WriteLine("Demand for SecurityPermissionFlag.ControlDomainPolicy failed: " + e.Message);
}
try
{
SecurityPermission sp =
new SecurityPermission(SecurityPermissionFlag.ControlEvidence);
Console.WriteLine("Demanding SecurityPermissionFlag.ControlEvidence");
sp.Demand();
Console.WriteLine("Demand for SecurityPermissionFlag.ControlEvidence succeeded.");
}
catch (Exception e)
{
Console.WriteLine("Demand for SecurityPermissionFlag.ControlEvidence failed: " + e.Message);
}
try
{
SecurityPermission sp =
new SecurityPermission(SecurityPermissionFlag.ControlPolicy);
Console.WriteLine("Demanding SecurityPermissionFlag.ControlPolicy");
sp.Demand();
Console.WriteLine("Demand for SecurityPermissionFlag.ControlPolicy succeeded.");
}
catch (Exception e)
{
Console.WriteLine("Demand for SecurityPermissionFlag.ControlPolicy failed: " + e.Message);
}
try
{
SecurityPermission sp =
new SecurityPermission(SecurityPermissionFlag.ControlPrincipal);
Console.WriteLine("Demanding SecurityPermissionFlag.ControlPrincipal");
sp.Demand();
Console.WriteLine("Demand for SecurityPermissionFlag.ControlPrincipal succeeded.");
}
catch (Exception e)
{
Console.WriteLine("Demand for SecurityPermissionFlag.ControlPrincipal failed: " + e.Message);
}
try
{
SecurityPermission sp =
new SecurityPermission(SecurityPermissionFlag.ControlThread);
Console.WriteLine("Demanding SecurityPermissionFlag.ControlThread");
sp.Demand();
Console.WriteLine("Demand for SecurityPermissionFlag.ControlThread succeeded.");
}
catch (Exception e)
{
Console.WriteLine("Demand for SecurityPermissionFlag.ControlThread failed: " + e.Message);
}
try
{
SecurityPermission sp =
new SecurityPermission(SecurityPermissionFlag.Execution);
Console.WriteLine("Demanding SecurityPermissionFlag.Execution");
sp.Demand();
Console.WriteLine("Demand for SecurityPermissionFlag.Execution succeeded.");
}
catch (Exception e)
{
Console.WriteLine("Demand for SecurityPermissionFlag.Execution failed: " + e.Message);
}
try
{
SecurityPermission sp =
new SecurityPermission(SecurityPermissionFlag.Infrastructure);
Console.WriteLine("Demanding SecurityPermissionFlag.Infrastructure");
sp.Demand();
Console.WriteLine("Demand for SecurityPermissionFlag.Infrastructure succeeded.");
}
catch (Exception e)
{
Console.WriteLine("Demand for SecurityPermissionFlag.Infrastructure failed: " + e.Message);
}
try
{
SecurityPermission sp =
new SecurityPermission(SecurityPermissionFlag.RemotingConfiguration);
Console.WriteLine("Demanding SecurityPermissionFlag.RemotingConfiguration");
sp.Demand();
Console.WriteLine("Demand for SecurityPermissionFlag.RemotingConfiguration succeeded.");
}
catch (Exception e)
{
Console.WriteLine("Demand for SecurityPermissionFlag.RemotingConfiguration failed: " + e.Message);
}
try
{
SecurityPermission sp =
new SecurityPermission(SecurityPermissionFlag.SerializationFormatter);
Console.WriteLine("Demanding SecurityPermissionFlag.SerializationFormatter");
sp.Demand();
Console.WriteLine("Demand for SecurityPermissionFlag.SerializationFormatter succeeded.");
}
catch (Exception e)
{
Console.WriteLine("Demand for SecurityPermissionFlag.SerializationFormatter failed: " + e.Message);
}
try
{
SecurityPermission sp =
new SecurityPermission(SecurityPermissionFlag.SkipVerification);
Console.WriteLine("Demanding SecurityPermissionFlag.SkipVerification");
sp.Demand();
Console.WriteLine("Demand for SecurityPermissionFlag.SkipVerification succeeded.");
}
catch (Exception e)
{
Console.WriteLine("Demand for SecurityPermissionFlag.SkipVerification failed: " + e.Message);
}
try
{
SecurityPermission sp =
new SecurityPermission(SecurityPermissionFlag.UnmanagedCode);
Console.WriteLine("Demanding SecurityPermissionFlag.UnmanagedCode");
sp.Demand();
Console.WriteLine("Demand for SecurityPermissionFlag.UnmanagedCode succeeded.");
}
catch (Exception e)
{
Console.WriteLine("Demand for SecurityPermissionFlag.UnmanagedCode failed: " + e.Message);
}
}
Public Shared Sub DemandSecurityPermissions()
Console.WriteLine(ControlChars.Lf & "Executing DemandSecurityPermissions." & ControlChars.Lf)
Try
Dim sp As New SecurityPermission(SecurityPermissionFlag.Assertion)
Console.WriteLine("Demanding SecurityPermissionFlag.Assertion")
sp.Demand()
Console.WriteLine("Demand for SecurityPermissionFlag.Assertion succeeded.")
Catch e As Exception
Console.WriteLine(("Demand for SecurityPermissionFlag.Assertion failed: " & e.Message))
End Try
Try
Dim sp As New SecurityPermission(SecurityPermissionFlag.ControlAppDomain)
Console.WriteLine("Demanding SecurityPermissionFlag.ControlAppDomain")
sp.Demand()
Console.WriteLine("Demand for SecurityPermissionFlag.ControlAppDomain succeeded.")
Catch e As Exception
Console.WriteLine(("Demand for SecurityPermissionFlag.ControlAppDomain failed: " & e.Message))
End Try
Try
Dim sp As New SecurityPermission(SecurityPermissionFlag.ControlDomainPolicy)
Console.WriteLine("Demanding SecurityPermissionFlag.ControlDomainPolicy")
sp.Demand()
Console.WriteLine("Demand for SecurityPermissionFlag.ControlDomainPolicy succeeded.")
Catch e As Exception
Console.WriteLine(("Demand for SecurityPermissionFlag.ControlDomainPolicy failed: " & e.Message))
End Try
Try
Dim sp As New SecurityPermission(SecurityPermissionFlag.ControlEvidence)
Console.WriteLine("Demanding SecurityPermissionFlag.ControlEvidence")
sp.Demand()
Console.WriteLine("Demand for SecurityPermissionFlag.ControlEvidence succeeded.")
Catch e As Exception
Console.WriteLine(("Demand for SecurityPermissionFlag.ControlEvidence failed: " & e.Message))
End Try
Try
Dim sp As New SecurityPermission(SecurityPermissionFlag.ControlPolicy)
Console.WriteLine("Demanding SecurityPermissionFlag.ControlPolicy")
sp.Demand()
Console.WriteLine("Demand for SecurityPermissionFlag.ControlPolicy succeeded.")
Catch e As Exception
Console.WriteLine(("Demand for SecurityPermissionFlag.ControlPolicy failed: " & e.Message))
End Try
Try
Dim sp As New SecurityPermission(SecurityPermissionFlag.ControlPrincipal)
Console.WriteLine("Demanding SecurityPermissionFlag.ControlPrincipal")
sp.Demand()
Console.WriteLine("Demand for SecurityPermissionFlag.ControlPrincipal succeeded.")
Catch e As Exception
Console.WriteLine(("Demand for SecurityPermissionFlag.ControlPrincipal failed: " & e.Message))
End Try
Try
Dim sp As New SecurityPermission(SecurityPermissionFlag.ControlThread)
Console.WriteLine("Demanding SecurityPermissionFlag.ControlThread")
sp.Demand()
Console.WriteLine("Demand for SecurityPermissionFlag.ControlThread succeeded.")
Catch e As Exception
Console.WriteLine(("Demand for SecurityPermissionFlag.ControlThread failed: " & e.Message))
End Try
Try
Dim sp As New SecurityPermission(SecurityPermissionFlag.Execution)
Console.WriteLine("Demanding SecurityPermissionFlag.Execution")
sp.Demand()
Console.WriteLine("Demand for SecurityPermissionFlag.Execution succeeded.")
Catch e As Exception
Console.WriteLine(("Demand for SecurityPermissionFlag.Execution failed: " & e.Message))
End Try
Try
Dim sp As New SecurityPermission(SecurityPermissionFlag.Infrastructure)
Console.WriteLine("Demanding SecurityPermissionFlag.Infrastructure")
sp.Demand()
Console.WriteLine("Demand for SecurityPermissionFlag.Infrastructure succeeded.")
Catch e As Exception
Console.WriteLine(("Demand for SecurityPermissionFlag.Infrastructure failed: " & e.Message))
End Try
Try
Dim sp As New SecurityPermission(SecurityPermissionFlag.RemotingConfiguration)
Console.WriteLine("Demanding SecurityPermissionFlag.RemotingConfiguration")
sp.Demand()
Console.WriteLine("Demand for SecurityPermissionFlag.RemotingConfiguration succeeded.")
Catch e As Exception
Console.WriteLine(("Demand for SecurityPermissionFlag.RemotingConfiguration failed: " & e.Message))
End Try
Try
Dim sp As New SecurityPermission(SecurityPermissionFlag.SerializationFormatter)
Console.WriteLine("Demanding SecurityPermissionFlag.SerializationFormatter")
sp.Demand()
Console.WriteLine("Demand for SecurityPermissionFlag.SerializationFormatter succeeded.")
Catch e As Exception
Console.WriteLine(("Demand for SecurityPermissionFlag.SerializationFormatter failed: " & e.Message))
End Try
Try
Dim sp As New SecurityPermission(SecurityPermissionFlag.SkipVerification)
Console.WriteLine("Demanding SecurityPermissionFlag.SkipVerification")
sp.Demand()
Console.WriteLine("Demand for SecurityPermissionFlag.SkipVerification succeeded.")
Catch e As Exception
Console.WriteLine(("Demand for SecurityPermissionFlag.SkipVerification failed: " & e.Message))
End Try
Try
Dim sp As New SecurityPermission(SecurityPermissionFlag.UnmanagedCode)
Console.WriteLine("Demanding SecurityPermissionFlag.UnmanagedCode")
sp.Demand()
Console.WriteLine("Demand for SecurityPermissionFlag.UnmanagedCode succeeded.")
Catch e As Exception
Console.WriteLine(("Demand for SecurityPermissionFlag.UnmanagedCode failed: " & e.Message))
End Try
End Sub