Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

AppDomain.IsFullyTrusted (Propiedad)

Obtiene un valor que indica si los ensamblados que se cargan en el dominio de aplicación actual se ejecutan con plena confianza.

Espacio de nombres:  System
Ensamblado:  mscorlib (en mscorlib.dll)

public bool IsFullyTrusted { get; }

Valor de propiedad

Tipo: System.Boolean
Es true si los ensamblados que se cargan en el dominio de aplicación actual se ejecutan con plena confianza; de lo contrario, es false.

Este método siempre devuelve true para el dominio de aplicación predeterminado de una aplicación que se ejecuta en el escritorio. Devuelve false para un dominio de aplicación en espacio aislado que se creó utilizando la sobrecarga de método AppDomain.CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]), a menos que los permisos que se conceden al dominio de aplicación sean equivalentes a la plena confianza.

En el siguiente ejemplo se muestra la propiedad IsFullyTrusted y la propiedad Assembly.IsFullyTrusted con dominios de aplicación de plena confianza y de confianza parcial. El dominio de aplicación de plena confianza es el dominio de aplicación predeterminado de la aplicación. El dominio de aplicación de confianza parcial se crea utilizando la sobrecarga de método AppDomain.CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]).

El ejemplo utiliza una clase Worker que deriva de MarshalByRefObject, de modo que se puedan calcular las referencias fuera de los límites del dominio de aplicación. En el ejemplo se crea un objeto Worker en el dominio de aplicación predeterminado. A continuación, llama al método TestIsFullyTrusted para mostrar el valor de propiedad del dominio de aplicación y de dos ensamblados que se cargan en el dominio de aplicación: mscorlib, que forma parte de .NET Framework, y el ensamblado de ejemplo. El dominio de aplicación es de plena confianza, de modo que ambos ensamblados son de plena confianza.

El ejemplo crea otro objeto Worker en un dominio de aplicación en espacio aislado y llama de nuevo al método TestIsFullyTrusted. Siempre se confía en Mscorlib, incluso en un dominio de aplicación de confianza parcial, pero el ensamblado de ejemplo es de confianza parcial.


using System;

namespace SimpleSandboxing
{
    public class Worker : MarshalByRefObject
    {
        static void Main()
        {
            Worker w = new Worker();
            w.TestIsFullyTrusted();

            AppDomain adSandbox = GetInternetSandbox();
            w = (Worker) adSandbox.CreateInstanceAndUnwrap(
                               System.Reflection.Assembly.GetExecutingAssembly().FullName,
                               typeof(Worker).FullName);
            w.TestIsFullyTrusted();
        }

        public void TestIsFullyTrusted()
        {
            AppDomain ad = AppDomain.CurrentDomain;
            Console.WriteLine("\r\nApplication domain '{0}': IsFullyTrusted = {1}",
                                        ad.FriendlyName, ad.IsFullyTrusted);

            Console.WriteLine("   IsFullyTrusted = {0} for the current assembly",
                             System.Reflection.Assembly.GetExecutingAssembly().IsFullyTrusted);

            Console.WriteLine("   IsFullyTrusted = {0} for mscorlib",
                                        typeof(int).Assembly.IsFullyTrusted);
        }

        // ------------ Helper method ---------------------------------------
        static AppDomain GetInternetSandbox()
        {
            // Create the permission set to grant to all assemblies.
            System.Security.Policy.Evidence hostEvidence = new System.Security.Policy.Evidence();
            hostEvidence.AddHostEvidence(new System.Security.Policy.Zone(
                                                         System.Security.SecurityZone.Internet));
            System.Security.PermissionSet pset = 
                                System.Security.SecurityManager.GetStandardSandbox(hostEvidence);

            // Identify the folder to use for the sandbox.
            AppDomainSetup ads = new AppDomainSetup();
            ads.ApplicationBase = System.IO.Directory.GetCurrentDirectory();

            // Create the sandboxed application domain.
            return AppDomain.CreateDomain("Sandbox", hostEvidence, ads, pset, null); 
        }
    }
}

/* This example produces output similar to the following:

Application domain 'Example.exe': IsFullyTrusted = True
   IsFullyTrusted = True for the current assembly
   IsFullyTrusted = True for mscorlib

Application domain 'Sandbox': IsFullyTrusted = False
   IsFullyTrusted = False for the current assembly
   IsFullyTrusted = True for mscorlib
 */


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4

.NET Framework Client Profile

Compatible con: 4

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft