Sdílet prostřednictvím


AppDomain Třída

Definice

Představuje doménu aplikace, což je izolované prostředí, ve kterém se aplikace spouští. Tuto třídu nelze dědit.

public ref class AppDomain sealed : MarshalByRefObject
public ref class AppDomain : MarshalByRefObject
public ref class AppDomain sealed : MarshalByRefObject, _AppDomain, System::Security::IEvidenceFactory
public sealed class AppDomain : MarshalByRefObject
public class AppDomain : MarshalByRefObject
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
public sealed class AppDomain : MarshalByRefObject, _AppDomain, System.Security.IEvidenceFactory
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class AppDomain : MarshalByRefObject, _AppDomain, System.Security.IEvidenceFactory
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class AppDomain : MarshalByRefObject
type AppDomain = class
    inherit MarshalByRefObject
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
type AppDomain = class
    inherit MarshalByRefObject
    interface _AppDomain
    interface IEvidenceFactory
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type AppDomain = class
    inherit MarshalByRefObject
    interface _AppDomain
    interface IEvidenceFactory
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type AppDomain = class
    inherit MarshalByRefObject
Public NotInheritable Class AppDomain
Inherits MarshalByRefObject
Public Class AppDomain
Inherits MarshalByRefObject
Public NotInheritable Class AppDomain
Inherits MarshalByRefObject
Implements _AppDomain, IEvidenceFactory
Dědičnost
Atributy
Implementuje

Příklady

Tento příklad ukazuje, jak vytvořit novou AppDomaininstanci typu v tomto novém AppDomainobjektu a komunikovat s objektem daného typu. Kromě toho tento příklad ukazuje, jak uvolnit AppDomain příčinu uvolňování paměti objektu.

using namespace System;
using namespace System::Reflection;
using namespace System::Threading;
using namespace System::Security::Policy;

// Because this class is derived from MarshalByRefObject, a proxy 
// to a MarshalByRefType object can be returned across an AppDomain 
// boundary.
ref class MarshalByRefType : MarshalByRefObject
{
public:
    //  Call this method via a proxy.
    void SomeMethod(String^ callingDomainName)
    {
        // Get this AppDomain's settings and display some of them.
        AppDomainSetup^ ads = AppDomain::CurrentDomain->SetupInformation;
        Console::WriteLine("AppName={0}, AppBase={1}, ConfigFile={2}", 
            ads->ApplicationName, 
            ads->ApplicationBase, 
            ads->ConfigurationFile
        );

        // Display the name of the calling AppDomain and the name 
        // of the second domain.
        // NOTE: The application's thread has transitioned between 
        // AppDomains.
        Console::WriteLine("Calling from '{0}' to '{1}'.", 
            callingDomainName, 
            Thread::GetDomain()->FriendlyName
        );
    };
};

void main()
{
    // Get and display the friendly name of the default AppDomain.
    String^ callingDomainName = Thread::GetDomain()->FriendlyName;
    Console::WriteLine(callingDomainName);

    // Get and display the full name of the EXE assembly.
    String^ exeAssembly = Assembly::GetEntryAssembly()->FullName;
    Console::WriteLine(exeAssembly);

    // Construct and initialize settings for a second AppDomain.
    AppDomainSetup^ ads = gcnew AppDomainSetup();
    ads->ApplicationBase = AppDomain::CurrentDomain->BaseDirectory;

    ads->DisallowBindingRedirects = false;
    ads->DisallowCodeDownload = true;
    ads->ConfigurationFile = 
        AppDomain::CurrentDomain->SetupInformation->ConfigurationFile;

    // Create the second AppDomain.
    AppDomain^ ad2 = AppDomain::CreateDomain("AD #2", 
        AppDomain::CurrentDomain->Evidence, ads);

    // Create an instance of MarshalbyRefType in the second AppDomain. 
    // A proxy to the object is returned.
    MarshalByRefType^ mbrt = 
        (MarshalByRefType^) ad2->CreateInstanceAndUnwrap(
            exeAssembly, 
            MarshalByRefType::typeid->FullName
        );

    // Call a method on the object via the proxy, passing the 
    // default AppDomain's friendly name in as a parameter.
    mbrt->SomeMethod(callingDomainName);

    // Unload the second AppDomain. This deletes its object and 
    // invalidates the proxy object.
    AppDomain::Unload(ad2);
    try
    {
        // Call the method again. Note that this time it fails 
        // because the second AppDomain was unloaded.
        mbrt->SomeMethod(callingDomainName);
        Console::WriteLine("Sucessful call.");
    }
    catch(AppDomainUnloadedException^)
    {
        Console::WriteLine("Failed call; this is expected.");
    }
}

/* This code produces output similar to the following: 

AppDomainX.exe
AppDomainX, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
AppName=, AppBase=C:\AppDomain\bin, ConfigFile=C:\AppDomain\bin\AppDomainX.exe.config
Calling from 'AppDomainX.exe' to 'AD #2'.
Failed call; this is expected.
 */
using System;
using System.Reflection;
using System.Threading;

class Module1
{
    public static void Main()
    {
        // Get and display the friendly name of the default AppDomain.
        string callingDomainName = Thread.GetDomain().FriendlyName;
        Console.WriteLine(callingDomainName);

        // Get and display the full name of the EXE assembly.
        string exeAssembly = Assembly.GetEntryAssembly().FullName;
        Console.WriteLine(exeAssembly);

        // Construct and initialize settings for a second AppDomain.
        AppDomainSetup ads = new AppDomainSetup();
        ads.ApplicationBase = AppDomain.CurrentDomain.BaseDirectory;

        ads.DisallowBindingRedirects = false;
        ads.DisallowCodeDownload = true;
        ads.ConfigurationFile =
            AppDomain.CurrentDomain.SetupInformation.ConfigurationFile;

        // Create the second AppDomain.
        AppDomain ad2 = AppDomain.CreateDomain("AD #2", null, ads);

        // Create an instance of MarshalbyRefType in the second AppDomain.
        // A proxy to the object is returned.
        MarshalByRefType mbrt =
            (MarshalByRefType) ad2.CreateInstanceAndUnwrap(
                exeAssembly,
                typeof(MarshalByRefType).FullName
            );

        // Call a method on the object via the proxy, passing the
        // default AppDomain's friendly name in as a parameter.
        mbrt.SomeMethod(callingDomainName);

        // Unload the second AppDomain. This deletes its object and
        // invalidates the proxy object.
        AppDomain.Unload(ad2);
        try
        {
            // Call the method again. Note that this time it fails
            // because the second AppDomain was unloaded.
            mbrt.SomeMethod(callingDomainName);
            Console.WriteLine("Sucessful call.");
        }
        catch(AppDomainUnloadedException)
        {
            Console.WriteLine("Failed call; this is expected.");
        }
    }
}

// Because this class is derived from MarshalByRefObject, a proxy
// to a MarshalByRefType object can be returned across an AppDomain
// boundary.
public class MarshalByRefType : MarshalByRefObject
{
    //  Call this method via a proxy.
    public void SomeMethod(string callingDomainName)
    {
        // Get this AppDomain's settings and display some of them.
        AppDomainSetup ads = AppDomain.CurrentDomain.SetupInformation;
        Console.WriteLine("AppName={0}, AppBase={1}, ConfigFile={2}",
            ads.ApplicationName,
            ads.ApplicationBase,
            ads.ConfigurationFile
        );

        // Display the name of the calling AppDomain and the name
        // of the second domain.
        // NOTE: The application's thread has transitioned between
        // AppDomains.
        Console.WriteLine("Calling from '{0}' to '{1}'.",
            callingDomainName,
            Thread.GetDomain().FriendlyName
        );
    }
}

/* This code produces output similar to the following:

AppDomainX.exe
AppDomainX, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
AppName=, AppBase=C:\AppDomain\bin, ConfigFile=C:\AppDomain\bin\AppDomainX.exe.config
Calling from 'AppDomainX.exe' to 'AD #2'.
Failed call; this is expected.
 */
open System
open System.Reflection
open System.Threading

// Because this class is derived from MarshalByRefObject, a proxy
// to a MarshalByRefType object can be returned across an AppDomain
// boundary.
type MarshalByRefType() =
    inherit MarshalByRefObject()
    
    //  Call this method via a proxy.
    member _.SomeMethod(callingDomainName) =
        // Get this AppDomain's settings and display some of them.
        let ads = AppDomain.CurrentDomain.SetupInformation
        printfn $"AppName={ads.ApplicationName}, AppBase={ads.ApplicationBase}, ConfigFile={ads.ConfigurationFile}"

        // Display the name of the calling AppDomain and the name
        // of the second domain.
        // NOTE: The application's thread has transitioned between
        // AppDomains.
        printfn $"Calling from '{callingDomainName}' to '{Thread.GetDomain().FriendlyName}'."

// Get and display the friendly name of the default AppDomain.
let callingDomainName = Thread.GetDomain().FriendlyName
printfn $"{callingDomainName}"

// Get and display the full name of the EXE assembly.
let exeAssembly = Assembly.GetEntryAssembly().FullName
printfn $"{exeAssembly}"

// Construct and initialize settings for a second AppDomain.
let ads = AppDomainSetup()
ads.ApplicationBase <- AppDomain.CurrentDomain.BaseDirectory

ads.DisallowBindingRedirects <- false
ads.DisallowCodeDownload <- true
ads.ConfigurationFile <-
    AppDomain.CurrentDomain.SetupInformation.ConfigurationFile

// Create the second AppDomain.
let ad2 = AppDomain.CreateDomain("AD #2", null, ads)

// Create an instance of MarshalbyRefType in the second AppDomain.
// A proxy to the object is returned.
let mbrt =
    ad2.CreateInstanceAndUnwrap(
        exeAssembly,
        typeof<MarshalByRefType>.FullName) :?> MarshalByRefType

// Call a method on the object via the proxy, passing the
// default AppDomain's friendly name in as a parameter.
mbrt.SomeMethod callingDomainName

// Unload the second AppDomain. This deletes its object and
// invalidates the proxy object.
AppDomain.Unload ad2
try
    // Call the method again. Note that this time it fails
    // because the second AppDomain was unloaded.
    mbrt.SomeMethod callingDomainName
    printfn "Sucessful call."
with :? AppDomainUnloadedException ->
    printfn "Failed call this is expected."

(* This code produces output similar to the following:

AppDomainX.exe
AppDomainX, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
AppName=, AppBase=C:\AppDomain\bin, ConfigFile=C:\AppDomain\bin\AppDomainX.exe.config
Calling from 'AppDomainX.exe' to 'AD #2'.
Failed call this is expected.
 *)
Imports System.Reflection
Imports System.Threading

Module Module1
    Sub Main()

        ' Get and display the friendly name of the default AppDomain.
        Dim callingDomainName As String = Thread.GetDomain().FriendlyName
        Console.WriteLine(callingDomainName)

        ' Get and display the full name of the EXE assembly.
        Dim exeAssembly As String = [Assembly].GetEntryAssembly().FullName
        Console.WriteLine(exeAssembly)

        ' Construct and initialize settings for a second AppDomain.
        Dim ads As New AppDomainSetup()
        ads.ApplicationBase = AppDomain.CurrentDomain.BaseDirectory
        ads.DisallowBindingRedirects = False
        ads.DisallowCodeDownload = True
        ads.ConfigurationFile = _
            AppDomain.CurrentDomain.SetupInformation.ConfigurationFile

        ' Create the second AppDomain.
        Dim ad2 As AppDomain = AppDomain.CreateDomain("AD #2", Nothing, ads)

        ' Create an instance of MarshalbyRefType in the second AppDomain. 
        ' A proxy to the object is returned.
        Dim mbrt As MarshalByRefType = CType( _
            ad2.CreateInstanceAndUnwrap(exeAssembly, _
                 GetType(MarshalByRefType).FullName), MarshalByRefType)

        ' Call a method on the object via the proxy, passing the default 
        ' AppDomain's friendly name in as a parameter.
        mbrt.SomeMethod(callingDomainName)

        ' Unload the second AppDomain. This deletes its object and 
        ' invalidates the proxy object.
        AppDomain.Unload(ad2)
        Try
            ' Call the method again. Note that this time it fails because 
            ' the second AppDomain was unloaded.
            mbrt.SomeMethod(callingDomainName)
            Console.WriteLine("Sucessful call.")
        Catch e As AppDomainUnloadedException
            Console.WriteLine("Failed call; this is expected.")
        End Try

    End Sub
End Module

' Because this class is derived from MarshalByRefObject, a proxy 
' to a MarshalByRefType object can be returned across an AppDomain 
' boundary.
Public Class MarshalByRefType
    Inherits MarshalByRefObject

    '  Call this method via a proxy.
    Public Sub SomeMethod(ByVal callingDomainName As String)

        ' Get this AppDomain's settings and display some of them.
        Dim ads As AppDomainSetup = AppDomain.CurrentDomain.SetupInformation
        Console.WriteLine("AppName={0}, AppBase={1}, ConfigFile={2}", _
            ads.ApplicationName, ads.ApplicationBase, ads.ConfigurationFile)

        ' Display the name of the calling AppDomain and the name 
        ' of the second domain.
        ' NOTE: The application's thread has transitioned between 
        ' AppDomains.
        Console.WriteLine("Calling from '{0}' to '{1}'.", _
            callingDomainName, Thread.GetDomain().FriendlyName)
    End Sub
End Class

'This code produces output similar to the following:
' 
' AppDomainX.exe
' AppDomainX, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
' AppName=, AppBase=C:\AppDomain\bin, ConfigFile=C:\AppDomain\bin\AppDomainX.exe.config
' Calling from 'AppDomainX.exe' to 'AD #2'.
' Failed call; this is expected.

Poznámky

Domény aplikací, které jsou reprezentovány AppDomain objekty, pomáhají poskytovat izolaci, uvolnění a hranice zabezpečení pro spouštění spravovaného kódu.

  • Domény aplikací slouží k izolaci úloh, které můžou proces snížit. Pokud se stav AppDomain spuštěné úlohy stane nestabilní, AppDomain může být uvolněn bez ovlivnění procesu. To je důležité, když proces musí běžet po dlouhou dobu bez restartování. Domény aplikací můžete také použít k izolaci úloh, které by neměly sdílet data.

  • Pokud je sestavení načteno do výchozí domény aplikace, nedá se uvolnit z paměti během spuštění procesu. Pokud ale otevřete druhou doménu aplikace, která se má načíst a spustit sestavení, sestavení se uvolní při uvolnění této domény aplikace. Pomocí této techniky můžete minimalizovat pracovní sadu dlouhotrvajících procesů, které občas používají velké knihovny DLL.

Poznámka

V .NET Core AppDomain je implementace omezená návrhem a neposkytuje izolaci, uvolnění nebo hranice zabezpečení. Pro .NET Core existuje přesně jedna AppDomain. Izolace a uvolnění jsou poskytovány prostřednictvím AssemblyLoadContext. Hranice zabezpečení by měly být poskytovány hranicemi procesů a příslušnými technikami vzdálené komunikace.

V jednom procesu může běžet více domén aplikací; Neexistuje však korelace 1:1 mezi doménami aplikací a vlákny. Několik vláken může patřit do jedné domény aplikace a zatímco dané vlákno není omezeno na jednu doménu aplikace, v daném okamžiku se vlákno spustí v jedné doméně aplikace.

Domény aplikací se vytvářejí pomocí CreateDomain metody. AppDomain instance se používají k načtení a spouštění sestavení (Assembly). AppDomain Pokud se už nepoužívá, můžete ho uvolnit.

Třída AppDomain implementuje sadu událostí, které umožňují aplikacím reagovat při načtení sestavení, při uvolnění domény aplikace nebo při vyvolání neošetřené výjimky.

Další informace o používání domén aplikací najdete v tématu Domény aplikací.

Tato třída implementuje MarshalByRefObjectrozhraní , _AppDomaina IEvidenceFactory rozhraní.

Pro objekt byste nikdy neměli vytvářet obálku AppDomain s možností vzdálené komunikace. To by mohlo publikovat vzdálený odkaz na tento AppDomain, vystavení metod, jako CreateInstance je vzdálený přístup a efektivní zničení zabezpečení přístupu kódu pro tento AppDomain. Škodlivé klienty, kteří se připojují ke vzdálenému AppDomain zařízení, můžou získat přístup k jakémukoli prostředku, AppDomain ke kterému má sám přístup. Nevytvořte remotovatelné obálky pro žádný typ, který rozšiřuje MarshalByRefObject a implementuje metody, které by mohly být používány škodlivými klienty k obejití systému zabezpečení.

Upozornění

Výchozí hodnota AppDomainSetup.DisallowCodeDownload vlastnosti je false. Toto nastavení je nebezpečné pro služby. Chcete-li zabránit stahování částečně důvěryhodného kódu služby, nastavte tuto vlastnost na true.

Vlastnosti

ActivationContext

Získá kontext aktivace pro aktuální doménu aplikace.

ApplicationIdentity

Získá identitu aplikace v doméně aplikace.

ApplicationTrust

Získá informace popisující oprávnění udělená aplikaci a zda má aplikace úroveň důvěryhodnosti, která umožňuje jeho spuštění.

BaseDirectory

Získá základní adresář, který překladač sestavení používá k sondování sestavení.

CurrentDomain

Získá aktuální doménu aplikace pro aktuální Thread.

DomainManager

Získá správce domény, který poskytl hostitel při inicializaci domény aplikace.

DynamicDirectory

Získá adresář, který překladač sestavení používá k sondování pro dynamicky vytvořená sestavení.

Evidence

Získá přidruženou Evidence k této doméně aplikace.

FriendlyName

Získá popisný název této domény aplikace.

Id

Získá celé číslo, které jednoznačně identifikuje doménu aplikace v rámci procesu.

IsFullyTrusted

Získá hodnotu, která označuje, zda sestavení načtená do aktuální domény aplikace se spouští s úplným vztahem důvěryhodnosti.

IsHomogenous

Získá hodnotu, která označuje, zda aktuální aplikační doména má sadu oprávnění udělených všem sestavením načteným do domény aplikace.

MonitoringIsEnabled

Získá nebo nastaví hodnotu, která označuje, zda je pro aktuální proces povolené monitorování procesoru a paměti domén aplikací. Jakmile je monitorování pro proces povolené, nedá se zakázat.

MonitoringSurvivedMemorySize

Získá počet bajtů, které přežily poslední kolekci a které jsou známé jako odkazované aktuální doménou aplikace.

MonitoringSurvivedProcessMemorySize

Získá celkový počet bajtů, které přežily z poslední kolekce pro všechny domény aplikace v procesu.

MonitoringTotalAllocatedMemorySize

Získá celkovou velikost všech přidělení paměti provedených doménou aplikace od jeho vytvoření v bajtech, aniž by se odečítala paměť, která byla shromážděna.

MonitoringTotalProcessorTime

Získá celkový čas procesoru, který byl používán všemi vlákny při spouštění v aktuální doméně aplikace, od spuštění procesu.

PermissionSet
Zastaralé.

Získá sadu oprávnění domény aplikace v izolovaném prostoru (sandbox).

RelativeSearchPath

Získá cestu pod základním adresářem, kde by překladač sestavení měl testovat pro privátní sestavení.

SetupInformation

Získá informace o konfiguraci domény aplikace pro tuto instanci.

ShadowCopyFiles

Získá označení, jestli je doména aplikace nakonfigurovaná pro soubory stínové kopie.

Metody

AppendPrivatePath(String)
Zastaralé.
Zastaralé.
Zastaralé.
Zastaralé.

Připojí zadaný název adresáře k seznamu privátních cest.

ApplyPolicy(String)

Vrátí zobrazovaný název sestavení po použití zásady.

ClearPrivatePath()
Zastaralé.
Zastaralé.
Zastaralé.
Zastaralé.

Obnoví cestu, která určuje umístění privátních sestavení do prázdného řetězce ("").

ClearShadowCopyPath()
Zastaralé.
Zastaralé.
Zastaralé.
Zastaralé.

Obnoví seznam adresářů obsahující stínová zkopírovaná sestavení na prázdný řetězec ("").

CreateComInstanceFrom(String, String)

Vytvoří novou instanci určeného typu COM. Parametry určují název souboru, který obsahuje sestavení obsahující typ a název typu.

CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm)

Vytvoří novou instanci určeného typu COM. Parametry určují název souboru, který obsahuje sestavení obsahující typ a název typu.

CreateDomain(String)
Zastaralé.

Vytvoří novou doménu aplikace se zadaným názvem.

CreateDomain(String, Evidence)

Vytvoří novou doménu aplikace s daným názvem pomocí zadaných důkazů.

CreateDomain(String, Evidence, AppDomainSetup)

Vytvoří novou doménu aplikace pomocí zadaného názvu, důkazů a informací o nastavení domény aplikace.

CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[])

Vytvoří novou doménu aplikace pomocí zadaného názvu, důkazů, informací o nastavení domény aplikace, výchozí sady oprávnění a pole plně důvěryhodných sestavení.

CreateDomain(String, Evidence, String, String, Boolean)

Vytvoří novou doménu aplikace s daným názvem pomocí důkazů, základní cesty aplikace, relativní cesty hledání a parametru, který určuje, zda má být do domény aplikace načtena stínová kopie sestavení.

CreateDomain(String, Evidence, String, String, Boolean, AppDomainInitializer, String[])

Vytvoří novou doménu aplikace s daným názvem pomocí důkazů, základní cesty aplikace, relativní cesty hledání a parametru, který určuje, zda má být do domény aplikace načtena stínová kopie sestavení. Určuje metodu zpětného volání, která se vyvolá při inicializaci domény aplikace a pole řetězcových argumentů pro předání metody zpětného volání.

CreateInstance(String, String)

Vytvoří novou instanci určeného typu definovaného v zadaném sestavení.

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

Vytvoří novou instanci určeného typu definovaného v zadaném sestavení. Parametry určují pořadač, příznaky vazeb, argumenty konstruktoru, informace specifické pro jazykovou verzi používané k interpretaci argumentů a volitelné aktivační atributy.

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
Zastaralé.
Zastaralé.

Vytvoří novou instanci určeného typu definovaného v zadaném sestavení. Parametry určují pořadač, příznaky vazeb, argumenty konstruktoru, informace specifické pro jazykovou verzi, které slouží k interpretaci argumentů, atributů aktivace a autorizaci k vytvoření typu.

CreateInstance(String, String, Object[])

Vytvoří novou instanci určeného typu definovaného v zadaném sestavení. Parametr určuje pole atributů aktivace.

CreateInstanceAndUnwrap(String, String)

Vytvoří novou instanci zadaného typu. Parametry určují sestavení, kde je typ definován, a název typu.

CreateInstanceAndUnwrap(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

Vytvoří novou instanci zadaného typu definovaného v zadaném sestavení a určí, zda je případ názvu typu ignorován; atributy vazby a pořadač, které se používají k výběru typu, který se má vytvořit; argumenty konstruktoru; kultury; a atributy aktivace.

CreateInstanceAndUnwrap(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
Zastaralé.
Zastaralé.

Vytvoří novou instanci zadaného typu. Parametry určují název typu a způsob jeho nalezení a vytvoření.

CreateInstanceAndUnwrap(String, String, Object[])

Vytvoří novou instanci zadaného typu. Parametry určují sestavení, ve kterém je typ definovaný, název typu a pole atributů aktivace.

CreateInstanceFrom(String, String)

Vytvoří novou instanci určeného typu definovaného v určeném souboru sestavení.

CreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

Vytvoří novou instanci určeného typu definovaného v určeném souboru sestavení.

CreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
Zastaralé.
Zastaralé.

Vytvoří novou instanci určeného typu definovaného v určeném souboru sestavení.

CreateInstanceFrom(String, String, Object[])

Vytvoří novou instanci určeného typu definovaného v určeném souboru sestavení.

CreateInstanceFromAndUnwrap(String, String)

Vytvoří novou instanci určeného typu definovaného v určeném souboru sestavení.

CreateInstanceFromAndUnwrap(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

Vytvoří novou instanci zadaného typu definovaného v zadaném souboru sestavení a určuje, zda je případ názvu typu ignorován; atributy vazby a pořadač, které se používají k výběru typu, který se má vytvořit; argumenty konstruktoru; kultury; a atributy aktivace.

CreateInstanceFromAndUnwrap(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
Zastaralé.
Zastaralé.

Vytvoří novou instanci určeného typu definovaného v určeném souboru sestavení.

CreateInstanceFromAndUnwrap(String, String, Object[])

Vytvoří novou instanci určeného typu definovaného v určeném souboru sestavení.

CreateObjRef(Type)

Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy serveru používaného ke komunikaci se vzdáleným objektem.

(Zděděno od MarshalByRefObject)
DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess)

Definuje dynamické sestavení se zadaným názvem a režimem přístupu.

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, Evidence)
Zastaralé.
Zastaralé.

Definuje dynamické sestavení pomocí zadaného názvu, režimu přístupu a důkazů.

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, Evidence, PermissionSet, PermissionSet, PermissionSet)
Zastaralé.
Zastaralé.

Definuje dynamické sestavení pomocí zadaného názvu, režimu přístupu, důkazů a žádostí o oprávnění.

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, IEnumerable<CustomAttributeBuilder>)

Definuje dynamické sestavení se zadaným názvem, režimem přístupu a vlastními atributy.

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, IEnumerable<CustomAttributeBuilder>, SecurityContextSource)

Definuje dynamické sestavení se zadaným názvem, režimem přístupu a vlastními atributy a použitím zadaného zdroje pro kontext zabezpečení.

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, PermissionSet, PermissionSet, PermissionSet)
Zastaralé.
Zastaralé.

Definuje dynamické sestavení pomocí zadaného názvu, režimu přístupu a žádostí o oprávnění.

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String)

Definuje dynamické sestavení pomocí zadaného názvu, režimu přístupu a adresáře úložiště.

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Boolean, IEnumerable<CustomAttributeBuilder>)

Definuje dynamické sestavení pomocí zadaného názvu, režimu přístupu, adresáře úložiště a možnosti synchronizace.

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence)
Zastaralé.
Zastaralé.

Definuje dynamické sestavení pomocí zadaného názvu, režimu přístupu, adresáře úložiště a důkazů.

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence, PermissionSet, PermissionSet, PermissionSet)
Zastaralé.
Zastaralé.

Definuje dynamické sestavení pomocí zadaného názvu, režimu přístupu, adresáře úložiště, důkazů a žádostí o oprávnění.

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence, PermissionSet, PermissionSet, PermissionSet, Boolean)
Zastaralé.
Zastaralé.

Definuje dynamické sestavení pomocí zadaného názvu, režimu přístupu, adresáře úložiště, důkazů, žádostí o oprávnění a možnosti synchronizace.

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence, PermissionSet, PermissionSet, PermissionSet, Boolean, IEnumerable<CustomAttributeBuilder>)
Zastaralé.
Zastaralé.

Definuje dynamické sestavení se zadaným názvem, režimem přístupu, adresářem úložiště, důkazy, žádostmi o oprávnění, možností synchronizace a vlastními atributy.

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, PermissionSet, PermissionSet, PermissionSet)
Zastaralé.
Zastaralé.

Definuje dynamické sestavení pomocí zadaného názvu, režimu přístupu, adresáře úložiště a žádostí o oprávnění.

DoCallBack(CrossAppDomainDelegate)

Spustí kód v jiné doméně aplikace, která je identifikována zadaným delegátem.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
ExecuteAssembly(String)

Spustí sestavení obsažené v zadaném souboru.

ExecuteAssembly(String, Evidence)
Zastaralé.
Zastaralé.

Provede sestavení obsažené v zadaném souboru pomocí zadaných důkazů.

ExecuteAssembly(String, Evidence, String[])
Zastaralé.
Zastaralé.

Spustí sestavení obsažené v zadaném souboru pomocí zadaných důkazů a argumentů.

ExecuteAssembly(String, Evidence, String[], Byte[], AssemblyHashAlgorithm)
Zastaralé.
Zastaralé.

Spustí sestavení obsažené v zadaném souboru pomocí zadaných důkazů, argumentů, hodnot hash a algoritmu hash.

ExecuteAssembly(String, String[])

Provede sestavení obsažené v zadaném souboru pomocí zadaných argumentů.

ExecuteAssembly(String, String[], Byte[], AssemblyHashAlgorithm)
Zastaralé.

Spustí sestavení obsažené v zadaném souboru pomocí zadaných argumentů, hodnoty hash a algoritmu hash.

ExecuteAssemblyByName(AssemblyName, Evidence, String[])
Zastaralé.
Zastaralé.

Spustí sestavení s použitím AssemblyNamezadaných důkazů a argumentů.

ExecuteAssemblyByName(AssemblyName, String[])

Spustí sestavení zadané AssemblyNamepomocí zadaných argumentů.

ExecuteAssemblyByName(String)

Spustí sestavení s uvedením zobrazovaného názvu.

ExecuteAssemblyByName(String, Evidence)
Zastaralé.
Zastaralé.

Spustí sestavení s uvedením zobrazovaného názvu pomocí zadaného důkazu.

ExecuteAssemblyByName(String, Evidence, String[])
Zastaralé.
Zastaralé.

Spustí sestavení s uvedením zobrazovaného názvu pomocí zadaných důkazů a argumentů.

ExecuteAssemblyByName(String, String[])

Spustí sestavení s uvedením zobrazovaného názvu pomocí zadaných argumentů.

GetAssemblies()

Získá sestavení, která byla načtena do kontextu provádění této domény aplikace.

GetCurrentThreadId()
Zastaralé.
Zastaralé.
Zastaralé.
Zastaralé.
Zastaralé.

Získá aktuální identifikátor vlákna.

GetData(String)

Získá hodnotu uloženou v aktuální doméně aplikace pro zadaný název.

GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetLifetimeService()
Zastaralé.

Načte aktuální objekt služby životnosti, který řídí zásady životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
GetType()

Získá typ aktuální instance.

GetType()

Type Získá aktuální instanci.

(Zděděno od Object)
InitializeLifetimeService()

Poskytuje neomezenou životnost tím, AppDomain že zabrání vytvoření zapůjčení.

InitializeLifetimeService()
Zastaralé.

Získá objekt služby životnosti pro řízení zásad životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
IsCompatibilitySwitchSet(String)

Získá logickou hodnotu s možnou hodnotou null, která označuje, zda jsou nastaveny nějaké přepínače kompatibility, a pokud ano, zda je zadaný přepínač kompatibility nastaven.

IsDefaultAppDomain()

Vrátí hodnotu, která označuje, jestli je doména aplikace výchozí doménou aplikace pro proces.

IsFinalizingForUnload()

Určuje, jestli se tato doména aplikace odloží a objekty, které obsahuje, jsou finalizovány modulem CLR (Common Language Runtime).

Load(AssemblyName)

Načte dané Assembly své AssemblyName.

Load(AssemblyName, Evidence)
Zastaralé.
Zastaralé.

Načte dané Assembly své AssemblyName.

Load(Byte[])

Assembly Načte obrázek založený na společném formátu souboru objektu (COFF), který obsahuje vygenerovaný Assemblysoubor .

Load(Byte[], Byte[])

Assembly Načte obrázek založený na společném formátu souboru objektu (COFF), který obsahuje vygenerovaný Assemblysoubor . Nezpracované bajty představující symboly pro tento Assembly symbol se také načtou.

Load(Byte[], Byte[], Evidence)
Zastaralé.
Zastaralé.

Assembly Načte obrázek založený na společném formátu souboru objektu (COFF), který obsahuje vygenerovaný Assemblysoubor . Nezpracované bajty představující symboly pro tento Assembly symbol se také načtou.

Load(String)

Načte zadaný zobrazovaný Assembly název.

Load(String, Evidence)
Zastaralé.
Zastaralé.

Načte zadaný zobrazovaný Assembly název.

MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

(Zděděno od Object)
MemberwiseClone(Boolean)

Vytvoří kopii aktuálního objektu bez MarshalByRefObject podmět.

(Zděděno od MarshalByRefObject)
ReflectionOnlyGetAssemblies()

Vrátí sestavení načtená do kontextu jen pro reflexi domény aplikace.

SetAppDomainPolicy(PolicyLevel)
Zastaralé.
Zastaralé.

Vytvoří úroveň zásad zabezpečení pro tuto doménu aplikace.

SetCachePath(String)
Zastaralé.
Zastaralé.
Zastaralé.
Zastaralé.

Vytvoří zadanou cestu k adresáři jako umístění, kde jsou stínová sestavení zkopírována.

SetData(String, Object)

Přiřadí zadanou hodnotu k zadané vlastnosti domény aplikace.

SetData(String, Object, IPermission)

Přiřadí zadanou hodnotu k zadané vlastnosti domény aplikace se zadaným oprávněním požadovat volajícího při načtení vlastnosti.

SetDynamicBase(String)
Zastaralé.
Zastaralé.
Zastaralé.
Zastaralé.

Vytvoří zadanou cestu k adresáři jako základní adresář pro podadresáře, kde se dynamicky generované soubory ukládají a přistupují k nim.

SetPrincipalPolicy(PrincipalPolicy)

Určuje, jak se mají objekty zabezpečení a identity připojit k vláknu, pokud se vlákno pokusí vytvořit vazbu k objektu zabezpečení při provádění v této doméně aplikace.

SetShadowCopyFiles()
Zastaralé.
Zastaralé.
Zastaralé.
Zastaralé.

Zapne stínové kopírování.

SetShadowCopyPath(String)
Zastaralé.
Zastaralé.
Zastaralé.
Zastaralé.

Vytvoří zadanou cestu adresáře jako umístění sestavení, která mají být stínována.

SetThreadPrincipal(IPrincipal)

Nastaví výchozí objekt objektu zabezpečení, který se má připojit k vlákenm, pokud se při provádění v této doméně aplikace pokusí vytvořit vazbu k objektu zabezpečení.

ToString()

Získá řetězcovou reprezentaci, která obsahuje popisný název domény aplikace a všechny kontextové zásady.

Unload(AppDomain)
Zastaralé.

Uvolní zadanou doménu aplikace.

událost

AssemblyLoad

Nastane při načtení sestavení.

AssemblyResolve

Nastane, když řešení sestavení selže.

DomainUnload

Nastane, když AppDomain se chystáte uvolnit.

FirstChanceException

Nastane, když se ve spravovaném kódu vyvolá výjimka, než modul runtime vyhledá zásobník volání obslužnou rutinu výjimky v doméně aplikace.

ProcessExit

Nastane, když se nadřazený proces výchozí domény aplikace ukončí.

ReflectionOnlyAssemblyResolve

Nastane, když řešení sestavení selže v kontextu jen pro reflexi.

ResourceResolve

Nastane, když řešení prostředku selže, protože prostředek není platným propojeným nebo vloženým prostředkem v sestavení.

TypeResolve

Nastane, když řešení typu selže.

UnhandledException

Nastane, když se výjimka nezachytí.

Explicitní implementace rozhraní

_AppDomain.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání.

_AppDomain.GetTypeInfo(UInt32, UInt32, IntPtr)

Načte informace o typu objektu, který lze použít k získání informací o typu pro rozhraní.

_AppDomain.GetTypeInfoCount(UInt32)

Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1).

_AppDomain.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Poskytuje přístup k vlastnostem a metodám vystaveným objektem.

Platí pro

Viz také