Solicitando permissões XML codificado
Se você precisar solicitar uma permissão personalizada definida (usando RequestMinimum, RequestOptional, or RequestRefuse), você pode usar uma representação XML do conjunto de duas maneiras de permissões desejado: ou você pode passar uma seqüência de caracteres que contém o real XML codificado permissão conjunto ou você pode informar o local de um arquivo XML que contém o codificado permissão definido.O exemplo a seguir utiliza XML com o PermissionSetAttribute. O sinalizar XML é uma seqüência de caracteres contendo um codificados em XML permissão definido, nesse caso, que representa um irrestrito UI permissão e um irrestrito Registro permissão.
Exemplo
'The attribute is placed at the assembly level.
Imports System
Imports System.Runtime.InteropServices
Imports System.Security.Permissions
<assembly: PermissionSetAttribute(SecurityAction.RequestMinimum, XML := "<PermissionSet class=""System.Security.PermissionSet"" version=""1""><Permission class=""System.Security.Permissions.UIPermission, mscorlib"" version=""1""><AllWindows/></Permission><Permission class=""System.Security.Permissions.RegistryPermission, mscorlib"" version=""1""><Unrestricted/></Permission></PermissionSet>")>
Namespace MyNamespace
Public Class MyClass1
Public Sub New()
End Sub
Public Sub MyMethod()
'Perform user interface operations here.
End Sub
End Class
End Namespace
//The attribute is placed at the assembly level.
using System.Security.Permissions;
[assembly:PermissionSetAttribute(SecurityAction.RequestMinimum, XML="<PermissionSet class=\"System.Security.PermissionSet\" version=\"1\"><Permission class=\"System.Security.Permissions.UIPermission, mscorlib\" version=\"1\"><AllWindows/></Permission><Permission class=\"System.Security.Permissions.RegistryPermission, mscorlib\" version=\"1\"><Unrestricted/></Permission></PermissionSet>")]
namespace MyNamespace
{
using System;
using System.Runtime.InteropServices;
public class MyClass
{
public MyClass()
{
}
public void MyMethod()
{
//Perform user interface operations here.
}
}
}
O exemplo a seguir mostra uma solicitação de permissão personalizada definir fornecendo o local e o nome do arquivo que contém o mesmo conjunto de permissão codificados em XML.Se você não especificar o local do seu arquivo XML, o tempo de execução procura no mesmo diretório sistema autônomo o aplicativo.
Imports System
Imports System.Runtime.InteropServices
Imports System.Security.Permissions
'The attribute is placed at the assembly level.
<assembly: PermissionSetAttribute(SecurityAction.RequestMinimum, File := "pset.xml")>
Namespace MyNamespace
Public Class MyClass1
Public Sub New()
End Sub
Public Sub MyMethod()
'Perform operations that require permissions here.
End Sub
End Class
End Namespace
//The attribute is placed at the assembly level.
using System.Security.Permissions;
[assembly:PermissionSetAttribute(SecurityAction.RequestMinimum, File = "pset.xml")]
namespace MyNamespace
{
using System;
using System.Runtime.InteropServices;
public class MyClass
{
public MyClass()
{
}
public void MyMethod()
{
//Perform operations that require permissions here.
}
}
}
Criando um XML codificado permissão conjunto
Você pode criar uma codificação XML de um conjunto de permissões pelo criando uma instância do PermissionSet objeto, adicionando instâncias das permissões desejadas para o objeto e, em seguida, chamar o ToXml método para retornar um SecurityElement objeto que representa o XML de codificação ou chamando o ToString método para retornar uma representação de seqüência da codificação XML.
Consulte também
Conceitos
Referência
Outros recursos
Metadados e Componentes Autodescritivas