Aracılığıyla paylaş


AppDomain Sınıf

Tanım

Uygulamaların yürütüldüğü yalıtılmış bir ortam olan uygulama etki alanını temsil eder. Bu sınıf devralınamaz.

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
Devralma
Öznitelikler
Uygulamalar

Örnekler

Bu örnekte, yeni bir oluşturma, bu yeni AppDomainAppDomainiçinde bir türün örneğini oluşturma ve bu türün nesnesiyle iletişim kurma gösterilmektedir. Buna ek olarak, bu örnekte nesnenin atık olarak toplanmasına neden olan öğesinin nasıl kaldırılacağı AppDomain gösterilmektedir.

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.

Açıklamalar

Nesnelerle AppDomain temsil edilen uygulama etki alanları, yönetilen kodu yürütmek için yalıtım, kaldırma ve güvenlik sınırları sağlamaya yardımcı olur.

  • Bir işlemi düşürebilecek görevleri yalıtmak için uygulama etki alanlarını kullanın. Bir görevi yürüten öğesinin AppDomain durumu kararsız hale gelirse, AppDomain işlemi etkilemeden kaldırılabilir. Bir işlemin yeniden başlatılmadan uzun süre çalışması gerektiğinde bu önemlidir. Veri paylaşmaması gereken görevleri yalıtmak için uygulama etki alanlarını da kullanabilirsiniz.

  • Bir derleme varsayılan uygulama etki alanına yüklenirse, işlem çalışırken bellekten kaldırılamaz. Ancak, derlemeyi yüklemek ve yürütmek için ikinci bir uygulama etki alanını açarsanız, bu uygulama etki alanı kaldırıldığında derleme kaldırılır. Zaman zaman büyük DLL'ler kullanan uzun süre çalışan işlemlerden oluşan çalışma kümesini en aza indirmek için bu tekniği kullanın.

Not

.NET Core'da AppDomain uygulama tasarım gereği sınırlıdır ve yalıtım, kaldırma veya güvenlik sınırları sağlamaz. .NET Core için tam olarak bir AppDomainvardır. Yalıtım ve kaldırma işlemleri aracılığıyla AssemblyLoadContextsağlanır. Güvenlik sınırları, işlem sınırları ve uygun uzaktan iletişim teknikleri tarafından sağlanmalıdır.

Tek bir işlemde birden çok uygulama etki alanı çalıştırılabilir; ancak, uygulama etki alanları ve iş parçacıkları arasında bire bir bağıntı yoktur. Birkaç iş parçacığı tek bir uygulama etki alanına ait olabilir ve belirli bir iş parçacığı tek bir uygulama etki alanıyla sınırlı olmasa da, herhangi bir zamanda tek bir uygulama etki alanında bir iş parçacığı yürütülür.

Uygulama etki alanları yöntemi kullanılarak CreateDomain oluşturulur. AppDomain örnekleri derlemeleri (Assembly) yüklemek ve yürütmek için kullanılır. AppDomain artık kullanımda olmadığında kaldırılabilir.

sınıfı AppDomain , bir derleme yüklendiğinde, bir uygulama etki alanı kaldırıldığında veya işlenmeyen bir özel durum oluştuğunda uygulamaların yanıt vermesini sağlayan bir dizi olay uygular.

Uygulama etki alanlarını kullanma hakkında daha fazla bilgi için bkz. Uygulama Etki Alanları.

Bu sınıf , ve _AppDomainIEvidenceFactory arabirimlerini uygularMarshalByRefObject.

Bir nesne için AppDomain hiçbir zaman uzaktan değiştirilebilir sarmalayıcı oluşturmamalısınız. Bunun yapılması, uzaktan erişim gibi CreateInstance yöntemlerin açığa çıkartılması ve bunun AppDomainiçin kod erişim güvenliğinin etkili bir şekilde yok edilmesi için AppDomainbu öğesine bir uzak başvuru yayımlayabilir. Uzak AppDomain ağa bağlanan kötü amaçlı istemciler, kendisinin erişimi olan herhangi bir kaynağa AppDomain erişim elde edebilir. Güvenlik sistemini atlamak için kötü amaçlı istemciler tarafından kullanılabilecek yöntemleri genişleten MarshalByRefObject ve uygulayan herhangi bir tür için uzaktan değiştirilebilir sarmalayıcılar oluşturmayın.

Dikkat

özelliğinin AppDomainSetup.DisallowCodeDownload varsayılan değeri şeklindedir false. Bu ayar hizmetler için güvenli değildir. Hizmetlerin kısmen güvenilen kodu indirmesini önlemek için bu özelliği olarak trueayarlayın.

Özellikler

ActivationContext

Geçerli uygulama etki alanı için etkinleştirme bağlamını alır.

ApplicationIdentity

Uygulama etki alanındaki uygulamanın kimliğini alır.

ApplicationTrust

Uygulamaya verilen izinleri ve uygulamanın çalışmasına izin veren bir güven düzeyi olup olmadığını açıklayan bilgileri alır.

BaseDirectory

Derleme çözümleyicisinin derlemeleri araştırmak için kullandığı temel dizini alır.

CurrentDomain

Geçerli Threadiçin geçerli uygulama etki alanını alır.

DomainManager

Uygulama etki alanı başlatıldığında konak tarafından sağlanan etki alanı yöneticisini alır.

DynamicDirectory

Derleme çözümleyicisinin dinamik olarak oluşturulan derlemeleri araştırmak için kullandığı dizini alır.

Evidence

Bu uygulama etki alanıyla ilişkili öğesini Evidence alır.

FriendlyName

Bu uygulama etki alanının kolay adını alır.

Id

İşlem içindeki uygulama etki alanını benzersiz olarak tanımlayan bir tamsayı alır.

IsFullyTrusted

Geçerli uygulama etki alanına yüklenen derlemelerin tam güven ile yürütüldüğünü belirten bir değer alır.

IsHomogenous

Geçerli uygulama etki alanının, uygulama etki alanına yüklenen tüm derlemelere verilen bir izin kümesine sahip olup olmadığını gösteren bir değer alır.

MonitoringIsEnabled

Uygulama etki alanlarının CPU ve bellek izlemesinin geçerli işlem için etkinleştirilip etkinleştirilmediğini belirten bir değer alır veya ayarlar. bir işlem için izleme etkinleştirildikten sonra devre dışı bırakılamaz.

MonitoringSurvivedMemorySize

Son koleksiyonda kalan ve geçerli uygulama etki alanı tarafından başvurulacağı bilinen bayt sayısını alır.

MonitoringSurvivedProcessMemorySize

İşlemdeki tüm uygulama etki alanları için son koleksiyondan kalan toplam bayt sayısını alır.

MonitoringTotalAllocatedMemorySize

Uygulama etki alanı tarafından oluşturulduğundan bu yana toplanan belleği çıkarmadan yapılan tüm bellek ayırmalarının toplam boyutunu bayt cinsinden alır.

MonitoringTotalProcessorTime

İşlem başladığından beri geçerli uygulama etki alanında yürütülürken tüm iş parçacıkları tarafından kullanılan toplam işlemci süresini alır.

PermissionSet
Kullanımdan kalktı.

Korumalı uygulama etki alanının izin kümesini alır.

RelativeSearchPath

Derleme çözümleyicisinin özel derlemeler için yoklaması gereken temel dizinin altındaki yolu alır.

SetupInformation

Bu örnek için uygulama etki alanı yapılandırma bilgilerini alır.

ShadowCopyFiles

Uygulama etki alanının gölge kopya dosyalarına yapılandırılıp yapılandırılmadığını gösterir.

Yöntemler

AppendPrivatePath(String)
Kullanımdan kalktı.
Kullanımdan kalktı.
Kullanımdan kalktı.
Kullanımdan kalktı.

Belirtilen dizin adını özel yol listesine ekler.

ApplyPolicy(String)

İlke uygulandıktan sonra derleme görünen adını döndürür.

ClearPrivatePath()
Kullanımdan kalktı.
Kullanımdan kalktı.
Kullanımdan kalktı.
Kullanımdan kalktı.

Özel derlemelerin konumunu belirten yolu boş dizeye ("") sıfırlar.

ClearShadowCopyPath()
Kullanımdan kalktı.
Kullanımdan kalktı.
Kullanımdan kalktı.
Kullanımdan kalktı.

Gölge kopyalanmış derlemeleri içeren dizin listesini boş dizeye ("") sıfırlar.

CreateComInstanceFrom(String, String)

Belirtilen COM türünün yeni bir örneğini oluşturur. Parametreler, türü ve türünü içeren bir derleme içeren dosyanın adını belirtir.

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

Belirtilen COM türünün yeni bir örneğini oluşturur. Parametreler, türü ve türünü içeren bir derleme içeren dosyanın adını belirtir.

CreateDomain(String)
Kullanımdan kalktı.

Belirtilen ada sahip yeni bir uygulama etki alanı oluşturur.

CreateDomain(String, Evidence)

Sağlanan kanıtı kullanarak verilen ada sahip yeni bir uygulama etki alanı oluşturur.

CreateDomain(String, Evidence, AppDomainSetup)

Belirtilen ad, kanıt ve uygulama etki alanı kurulum bilgilerini kullanarak yeni bir uygulama etki alanı oluşturur.

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

Belirtilen adı, kanıtı, uygulama etki alanı kurulum bilgilerini, varsayılan izin kümesini ve tam olarak güvenilen derleme dizisini kullanarak yeni bir uygulama etki alanı oluşturur.

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

Kanıt, uygulama temel yolu, göreli arama yolu ve derlemenin gölge kopyasının uygulama etki alanına yüklenip yüklenmeyeceğini belirten bir parametre kullanarak verilen ada sahip yeni bir uygulama etki alanı oluşturur.

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

Kanıt, uygulama temel yolu, göreli arama yolu ve derlemenin gölge kopyasının uygulama etki alanına yüklenip yüklenmeyeceğini belirten bir parametre kullanarak verilen ada sahip yeni bir uygulama etki alanı oluşturur. Uygulama etki alanı başlatıldığında çağrılan bir geri çağırma yöntemini ve geri çağırma yöntemini geçirmek için dize bağımsız değişkenlerinden oluşan bir dizi belirtir.

CreateInstance(String, String)

Belirtilen derlemede tanımlanan belirli türün yeni bir örneğini oluşturur.

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

Belirtilen derlemede tanımlanan belirli türün yeni bir örneğini oluşturur. Parametreler bir bağlayıcı, bağlama bayrakları, oluşturucu bağımsız değişkenleri, bağımsız değişkenleri yorumlamak için kullanılan kültüre özgü bilgileri ve isteğe bağlı etkinleştirme özniteliklerini belirtir.

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
Kullanımdan kalktı.
Kullanımdan kalktı.

Belirtilen derlemede tanımlanan belirli türün yeni bir örneğini oluşturur. Parametreler bir bağlayıcı, bağlama bayrakları, oluşturucu bağımsız değişkenleri, bağımsız değişkenleri yorumlamak için kullanılan kültüre özgü bilgileri, etkinleştirme özniteliklerini ve türü oluşturmak için yetkilendirmeyi belirtir.

CreateInstance(String, String, Object[])

Belirtilen derlemede tanımlanan belirli türün yeni bir örneğini oluşturur. Parametre, etkinleştirme öznitelikleri dizisini belirtir.

CreateInstanceAndUnwrap(String, String)

Belirtilen türün yeni bir örneğini oluşturur. Parametreler, türün tanımlandığı derlemeyi ve türün adını belirtir.

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

Belirtilen derlemede tanımlanan belirtilen türün yeni bir örneğini oluşturur ve tür adının büyük/küçük harf durumunun yoksayılıp yoksayılmayacağını belirtir; oluşturulacak türü seçmek için kullanılan bağlama öznitelikleri ve bağlayıcı; oluşturucunun bağımsız değişkenleri; kültür; ve etkinleştirme öznitelikleri.

CreateInstanceAndUnwrap(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
Kullanımdan kalktı.
Kullanımdan kalktı.

Belirtilen türün yeni bir örneğini oluşturur. Parametreler türün adını ve nasıl bulunup oluşturulduğunu belirtir.

CreateInstanceAndUnwrap(String, String, Object[])

Belirtilen türün yeni bir örneğini oluşturur. Parametreler türün tanımlandığı derlemeyi, türün adını ve etkinleştirme öznitelikleri dizisini belirtir.

CreateInstanceFrom(String, String)

Belirtilen derleme dosyasında tanımlanan belirli bir türün yeni örneğini oluşturur.

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

Belirtilen derleme dosyasında tanımlanan belirli bir türün yeni örneğini oluşturur.

CreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
Kullanımdan kalktı.
Kullanımdan kalktı.

Belirtilen derleme dosyasında tanımlanan belirli bir türün yeni örneğini oluşturur.

CreateInstanceFrom(String, String, Object[])

Belirtilen derleme dosyasında tanımlanan belirli bir türün yeni örneğini oluşturur.

CreateInstanceFromAndUnwrap(String, String)

Belirtilen derleme dosyasında tanımlanan belirli bir türün yeni örneğini oluşturur.

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

Belirtilen derleme dosyasında tanımlanan belirtilen türün yeni bir örneğini oluşturur ve tür adının büyük/küçük harf durumunun yoksayılıp yoksayılmayacağını belirtir; oluşturulacak türü seçmek için kullanılan bağlama öznitelikleri ve bağlayıcı; oluşturucunun bağımsız değişkenleri; kültür; ve etkinleştirme öznitelikleri.

CreateInstanceFromAndUnwrap(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
Kullanımdan kalktı.
Kullanımdan kalktı.

Belirtilen derleme dosyasında tanımlanan belirli bir türün yeni örneğini oluşturur.

CreateInstanceFromAndUnwrap(String, String, Object[])

Belirtilen derleme dosyasında tanımlanan belirli bir türün yeni örneğini oluşturur.

CreateObjRef(Type)

Uzak bir nesneyle iletişim kurmak için kullanılan bir ara sunucu oluşturmak için gereken tüm ilgili bilgileri içeren bir nesne oluşturur.

(Devralındığı yer: MarshalByRefObject)
DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess)

Belirtilen ad ve erişim moduna sahip bir dinamik derleme tanımlar.

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, Evidence)
Kullanımdan kalktı.
Kullanımdan kalktı.

Belirtilen adı, erişim modunu ve kanıtı kullanarak dinamik bir derleme tanımlar.

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, Evidence, PermissionSet, PermissionSet, PermissionSet)
Kullanımdan kalktı.
Kullanımdan kalktı.

Belirtilen adı, erişim modunu, kanıtı ve izin isteklerini kullanarak dinamik bir derleme tanımlar.

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, IEnumerable<CustomAttributeBuilder>)

Belirtilen ad, erişim modu ve özel özniteliklerle dinamik bir derleme tanımlar.

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

Belirtilen ad, erişim modu ve özel özniteliklere sahip dinamik bir derleme tanımlar ve güvenlik bağlamı için belirtilen kaynağı kullanır.

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, PermissionSet, PermissionSet, PermissionSet)
Kullanımdan kalktı.
Kullanımdan kalktı.

Belirtilen adı, erişim modunu ve izin isteklerini kullanarak dinamik bir derleme tanımlar.

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String)

Belirtilen adı, erişim modunu ve depolama dizinini kullanarak dinamik bir derleme tanımlar.

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

Belirtilen adı, erişim modunu, depolama dizinini ve eşitleme seçeneğini kullanarak dinamik bir derleme tanımlar.

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence)
Kullanımdan kalktı.
Kullanımdan kalktı.

Belirtilen adı, erişim modunu, depolama dizinini ve kanıtı kullanarak dinamik bir derleme tanımlar.

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence, PermissionSet, PermissionSet, PermissionSet)
Kullanımdan kalktı.
Kullanımdan kalktı.

Belirtilen adı, erişim modunu, depolama dizinini, kanıtı ve izin isteklerini kullanarak dinamik bir derleme tanımlar.

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence, PermissionSet, PermissionSet, PermissionSet, Boolean)
Kullanımdan kalktı.
Kullanımdan kalktı.

Belirtilen adı, erişim modunu, depolama dizinini, kanıtı, izin isteklerini ve eşitleme seçeneğini kullanarak dinamik bir derleme tanımlar.

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence, PermissionSet, PermissionSet, PermissionSet, Boolean, IEnumerable<CustomAttributeBuilder>)
Kullanımdan kalktı.
Kullanımdan kalktı.

Belirtilen ada, erişim moduna, depolama dizinine, kanıta, izin isteklerine, eşitleme seçeneğine ve özel özniteliklere sahip dinamik bir derleme tanımlar.

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, PermissionSet, PermissionSet, PermissionSet)
Kullanımdan kalktı.
Kullanımdan kalktı.

Belirtilen adı, erişim modunu, depolama dizinini ve izin isteklerini kullanarak dinamik bir derleme tanımlar.

DoCallBack(CrossAppDomainDelegate)

Kodu, belirtilen temsilci tarafından tanımlanan başka bir uygulama etki alanında yürütür.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
ExecuteAssembly(String)

Belirtilen dosyada bulunan derlemeyi yürütür.

ExecuteAssembly(String, Evidence)
Kullanımdan kalktı.
Kullanımdan kalktı.

Belirtilen dosyada bulunan derlemeyi, belirtilen kanıtı kullanarak yürütür.

ExecuteAssembly(String, Evidence, String[])
Kullanımdan kalktı.
Kullanımdan kalktı.

Belirtilen kanıt ve bağımsız değişkenleri kullanarak belirtilen dosyada bulunan derlemeyi yürütür.

ExecuteAssembly(String, Evidence, String[], Byte[], AssemblyHashAlgorithm)
Kullanımdan kalktı.
Kullanımdan kalktı.

Belirtilen kanıt, bağımsız değişkenler, karma değer ve karma algoritmasını kullanarak belirtilen dosyada bulunan derlemeyi yürütür.

ExecuteAssembly(String, String[])

Belirtilen dosyada bulunan derlemeyi, belirtilen bağımsız değişkenleri kullanarak yürütür.

ExecuteAssembly(String, String[], Byte[], AssemblyHashAlgorithm)
Kullanımdan kalktı.

Belirtilen bağımsız değişkenleri, karma değeri ve karma algoritmasını kullanarak belirtilen dosyada bulunan derlemeyi yürütür.

ExecuteAssemblyByName(AssemblyName, Evidence, String[])
Kullanımdan kalktı.
Kullanımdan kalktı.

Belirtilen kanıtı ve bağımsız değişkenleri kullanarak verilen derlemeyi AssemblyNameyürütür.

ExecuteAssemblyByName(AssemblyName, String[])

Belirtilen bağımsız değişkenleri kullanarak verilen derlemeyi AssemblyNameyürütür.

ExecuteAssemblyByName(String)

Görünen adı verilen bir derlemeyi yürütür.

ExecuteAssemblyByName(String, Evidence)
Kullanımdan kalktı.
Kullanımdan kalktı.

Belirtilen kanıtı kullanarak görünen adı verilen bir derlemeyi yürütür.

ExecuteAssemblyByName(String, Evidence, String[])
Kullanımdan kalktı.
Kullanımdan kalktı.

Belirtilen kanıtı ve bağımsız değişkenleri kullanarak görünen adı verilen derlemeyi yürütür.

ExecuteAssemblyByName(String, String[])

Belirtilen bağımsız değişkenleri kullanarak görünen adı verilen derlemeyi yürütür.

GetAssemblies()

Bu uygulama etki alanının yürütme bağlamı içine yüklenen derlemeleri alır.

GetCurrentThreadId()
Kullanımdan kalktı.
Kullanımdan kalktı.
Kullanımdan kalktı.
Kullanımdan kalktı.
Kullanımdan kalktı.

Geçerli iş parçacığı tanımlayıcısını alır.

GetData(String)

Belirtilen ad için geçerli uygulama etki alanında depolanan değeri alır.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetLifetimeService()
Kullanımdan kalktı.

Bu örnek için yaşam süresi ilkesini denetleen geçerli yaşam süresi hizmet nesnesini alır.

(Devralındığı yer: MarshalByRefObject)
GetType()

Geçerli örneğin türünü alır.

GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
InitializeLifetimeService()

Kiralamanın oluşturulmasını AppDomain engelleyerek sonsuz bir yaşam süresi verir.

InitializeLifetimeService()
Kullanımdan kalktı.

Bu örneğin yaşam süresi ilkesini denetlemek için bir yaşam süresi hizmet nesnesi alır.

(Devralındığı yer: MarshalByRefObject)
IsCompatibilitySwitchSet(String)

Herhangi bir uyumluluk anahtarının ayarlanıp ayarlanmadığını ve ayarlıysa belirtilen uyumluluk anahtarının ayarlanıp ayarlanmadığını gösteren null atanabilir bir Boole değeri alır.

IsDefaultAppDomain()

Uygulama etki alanının işlem için varsayılan uygulama etki alanı olup olmadığını gösteren bir değer döndürür.

IsFinalizingForUnload()

Bu uygulama etki alanının kaldırılıp kaldırılmadığını ve içerdiği nesnelerin ortak dil çalışma zamanı tarafından sonlandırılıp sonlandırılmadığını gösterir.

Load(AssemblyName)

Belirli bir Assembly öğesini AssemblyNameyükler.

Load(AssemblyName, Evidence)
Kullanımdan kalktı.
Kullanımdan kalktı.

Belirli bir Assembly öğesini AssemblyNameyükler.

Load(Byte[])

öğesini, Assembly yayılan öğesini içeren ortak nesne dosyası biçimi (COFF) tabanlı bir Assemblygörüntüyle yükler.

Load(Byte[], Byte[])

öğesini, Assembly yayılan öğesini içeren ortak nesne dosyası biçimi (COFF) tabanlı bir Assemblygörüntüyle yükler. için Assembly simgeleri temsil eden ham baytlar da yüklenir.

Load(Byte[], Byte[], Evidence)
Kullanımdan kalktı.
Kullanımdan kalktı.

öğesini, Assembly yayılan öğesini içeren ortak nesne dosyası biçimi (COFF) tabanlı bir Assemblygörüntüyle yükler. için Assembly simgeleri temsil eden ham baytlar da yüklenir.

Load(String)

Verilen görünen Assembly adını yükler.

Load(String, Evidence)
Kullanımdan kalktı.
Kullanımdan kalktı.

Verilen görünen Assembly adını yükler.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
MemberwiseClone(Boolean)

Geçerli MarshalByRefObject nesnenin sığ bir kopyasını oluşturur.

(Devralındığı yer: MarshalByRefObject)
ReflectionOnlyGetAssemblies()

Uygulama etki alanının yalnızca yansıma bağlamı içine yüklenen derlemeleri döndürür.

SetAppDomainPolicy(PolicyLevel)
Kullanımdan kalktı.
Kullanımdan kalktı.

Bu uygulama etki alanı için güvenlik ilkesi düzeyini oluşturur.

SetCachePath(String)
Kullanımdan kalktı.
Kullanımdan kalktı.
Kullanımdan kalktı.
Kullanımdan kalktı.

Derlemelerin gölge kopyalandığı konum olarak belirtilen dizin yolunu oluşturur.

SetData(String, Object)

Belirtilen değeri belirtilen uygulama etki alanı özelliğine atar.

SetData(String, Object, IPermission)

Belirtilen değeri belirtilen uygulama etki alanı özelliğine atar ve özellik alındığında çağıranın talep etme iznine sahiptir.

SetDynamicBase(String)
Kullanımdan kalktı.
Kullanımdan kalktı.
Kullanımdan kalktı.
Kullanımdan kalktı.

Dinamik olarak oluşturulan dosyaların depolandığı ve erişildiği alt dizinler için temel dizin olarak belirtilen dizin yolunu oluşturur.

SetPrincipalPolicy(PrincipalPolicy)

İş parçacığı bu uygulama etki alanında yürütülürken bir sorumluya bağlanmaya çalışırsa, sorumlu ve kimlik nesnelerinin bir iş parçacığına nasıl iliştirilmesi gerektiğini belirtir.

SetShadowCopyFiles()
Kullanımdan kalktı.
Kullanımdan kalktı.
Kullanımdan kalktı.
Kullanımdan kalktı.

Gölge kopyalamayı açar.

SetShadowCopyPath(String)
Kullanımdan kalktı.
Kullanımdan kalktı.
Kullanımdan kalktı.
Kullanımdan kalktı.

Gölge kopyalanacak derlemelerin konumu olarak belirtilen dizin yolunu oluşturur.

SetThreadPrincipal(IPrincipal)

Bu uygulama etki alanında yürütülürken bir sorumluya bağlanmayı denerlerse, iş parçacıklarına eklenecek varsayılan asıl nesneyi ayarlar.

ToString()

Uygulama etki alanının kolay adını ve bağlam ilkelerini içeren bir dize gösterimi alır.

Unload(AppDomain)
Kullanımdan kalktı.

Belirtilen uygulama etki alanını kaldırır.

Ekinlikler

AssemblyLoad

Bir derleme yüklendiğinde gerçekleşir.

AssemblyResolve

Bir derlemenin çözümü başarısız olduğunda gerçekleşir.

DomainUnload

bir AppDomain yüklenmek üzere olduğunda gerçekleşir.

FirstChanceException

Yönetilen kodda bir özel durum oluşturulduğunda, çalışma zamanı çağrı yığınında uygulama etki alanındaki bir özel durum işleyicisini aramadan önce gerçekleşir.

ProcessExit

Varsayılan uygulama etki alanının üst işlemi çıktığında gerçekleşir.

ReflectionOnlyAssemblyResolve

Derlemenin çözümlemesi yalnızca yansıma bağlamında başarısız olduğunda gerçekleşir.

ResourceResolve

Kaynak derlemede geçerli bir bağlı veya katıştırılmış kaynak olmadığından kaynağın çözümü başarısız olduğunda gerçekleşir.

TypeResolve

Bir türün çözünürlüğü başarısız olduğunda gerçekleşir.

UnhandledException

Bir özel durum yakalanmadığında gerçekleşir.

Belirtik Arabirim Kullanımları

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

Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler.

_AppDomain.GetTypeInfo(UInt32, UInt32, IntPtr)

Bir nesne için tür bilgilerini alır ve bu da bir arabirimin tür bilgisini almak için kullanılabilir.

_AppDomain.GetTypeInfoCount(UInt32)

Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1).

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

Bir nesne tarafından sunulan özelliklere ve yöntemlere erişim sağlar.

Şunlara uygulanır

Ayrıca bkz.