AppDomain Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
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
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 oluşturma ve bu türün nesnesiyle iletişim kurma gösterilmektedir. Buna ek olarak, bu örnekte nesnenin çöp toplanmasına AppDomain neden olan öğesinin nasıl kaldırılacağı 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ı 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şlemlerin çalışma kümesini en aza indirmek için bu tekniği kullanın.
Uyarı
.NET Core ve .NET 5+ AppDomain üzerinde, uygulama tasarımla sınırlıdır ve yalıtım, kaldırma veya güvenlik sınırları sağlamaz. Bu sürümlerde tam olarak bir vardır AppDomain. 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 ile sağlanmalıdır.
Birden çok uygulama etki alanı tek bir işlemde ç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 bir iş parçacığı tek bir uygulama etki alanında 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, 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 , _AppDomainve IEvidenceFactory arabirimlerini uygularMarshalByRefObject.
Bir nesne için AppDomain hiçbir zaman değiştirilebilir sarmalayıcı oluşturmamalısınız. Bunun yapılması, uzaktan erişim gibi CreateInstance yöntemleri ortaya çıkarmak ve bu için kod erişim güvenliğini etkili bir şekilde yok etmek için AppDomainbu AppDomainöğesine uzaktan 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 MarshalByRefObject tarafından kullanılabilecek yöntemleri genişleten ve uygulayan herhangi bir tür için uzaktan değiştirilebilir sarmalayıcılar oluşturmayın.
Dikkat
özelliği için AppDomainSetup.DisallowCodeDownload varsayılan değerdir 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
| Name | Description |
|---|---|
| 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 için geçerli uygulama etki alanını Threadalı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şkilendirileni 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üvenle yürütüldüğünü gösteren 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 gösteren bir değer alır veya ayarlar. İzleme bir işlem için 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 baytları alır. |
| MonitoringTotalAllocatedMemorySize |
Uygulama etki alanı tarafından oluşturulduğundan bu yana yapılan tüm bellek ayırmalarının toplam boyutunu bayt cinsinden, toplanan belleği çıkarmadan 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 |
Geçersiz.
Korumalı uygulama etki alanının izin kümesini alır. |
| RelativeSearchPath |
Derleme çözümleyicisinin özel derlemeleri 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österen bir gösterge alır. |
Yöntemler
| Name | Description |
|---|---|
| AppendPrivatePath(String) |
Geçersiz.
Geçersiz.
Geçersiz.
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() |
Geçersiz.
Geçersiz.
Geçersiz.
Özel derlemelerin konumunu boş dizeye ("") belirten yolu sıfırlar. |
| ClearShadowCopyPath() |
Geçersiz.
Geçersiz.
Geçersiz.
Gölge kopyalanmış derlemeleri içeren dizin listesini boş dizeye ("") sıfırlar. |
| CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm) |
Belirtilen COM türünün yeni bir örneğini oluşturur. Parametreler, türü ve türün adını içeren bir derleme içeren dosyanın adını belirtir. |
| CreateComInstanceFrom(String, String) |
Belirtilen COM türünün yeni bir örneğini oluşturur. Parametreler, türü ve türün adını içeren bir derleme içeren dosyanın adını belirtir. |
| CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) |
Belirtilen adı, kanıtı, uygulama etki alanı kurulum bilgilerini, varsayılan izin kümesini ve tam güvenilir derleme dizisini kullanarak 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, 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. |
| 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) |
Sağlanan kanıtı kullanarak verilen ada sahip yeni bir uygulama etki alanı oluşturur. |
| CreateDomain(String) |
Geçersiz.
Belirtilen ada sahip yeni bir uygulama etki alanı oluşturur. |
| CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) |
Geçersiz.
Belirtilen derlemede tanımlanan belirtilen 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, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[]) |
Belirtilen derlemede tanımlanan belirtilen 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ü bilgiler ve isteğe bağlı etkinleştirme özniteliklerini belirtir. |
| CreateInstance(String, String, Object[]) |
Belirtilen derlemede tanımlanan belirtilen türün yeni bir örneğini oluşturur. Parametre, etkinleştirme öznitelikleri dizisini belirtir. |
| CreateInstance(String, String) |
Belirtilen derlemede tanımlanan belirtilen türün yeni bir örneğini oluşturur. |
| CreateInstanceAndUnwrap(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) |
Geçersiz.
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, 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 özniteliklerini seçin. |
| 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. |
| 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. |
| CreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) |
Geçersiz.
Belirtilen derleme dosyasında tanımlanan belirtilen türün yeni bir örneğini oluşturur. |
| CreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[]) |
Belirtilen derleme dosyasında tanımlanan belirtilen türün yeni bir örneğini oluşturur. |
| CreateInstanceFrom(String, String, Object[]) |
Belirtilen derleme dosyasında tanımlanan belirtilen türün yeni bir örneğini oluşturur. |
| CreateInstanceFrom(String, String) |
Belirtilen derleme dosyasında tanımlanan belirtilen türün yeni bir örneğini oluşturur. |
| CreateInstanceFromAndUnwrap(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) |
Geçersiz.
Belirtilen derleme dosyasında tanımlanan belirtilen türün yeni bir ö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 özniteliklerini seçin. |
| CreateInstanceFromAndUnwrap(String, String, Object[]) |
Belirtilen derleme dosyasında tanımlanan belirtilen türün yeni bir örneğini oluşturur. |
| CreateInstanceFromAndUnwrap(String, String) |
Belirtilen derleme dosyasında tanımlanan belirtilen türün yeni bir ö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, Evidence, PermissionSet, PermissionSet, PermissionSet) |
Geçersiz.
Belirtilen adı, erişim modunu, kanıtı ve izin isteklerini kullanarak dinamik bir derleme tanımlar. |
| DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, Evidence) |
Geçersiz.
Belirtilen adı, erişim modunu ve kanıtı kullanarak dinamik bir derleme tanımlar. |
| DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, IEnumerable<CustomAttributeBuilder>, SecurityContextSource) |
Belirtilen ad, erişim modu ve özel özniteliklere sahip bir dinamik derleme tanımlar ve güvenlik bağlamı için belirtilen kaynağı kullanır. |
| DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, IEnumerable<CustomAttributeBuilder>) |
Belirtilen ada, erişim moduna ve özel özniteliklere sahip bir dinamik derleme tanımlar. |
| DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, PermissionSet, PermissionSet, PermissionSet) |
Geçersiz.
Belirtilen adı, erişim modunu ve izin isteklerini 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, PermissionSet, PermissionSet, PermissionSet, Boolean, IEnumerable<CustomAttributeBuilder>) |
Geçersiz.
Belirtilen ada, erişim moduna, depolama dizinine, kanıta, izin isteklerine, eşitleme seçeneğine ve özel özniteliklere sahip bir dinamik derleme tanımlar. |
| DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence, PermissionSet, PermissionSet, PermissionSet, Boolean) |
Geçersiz.
Belirtilen ad, erişim modu, depolama dizini, kanıt, izin istekleri ve eşitleme seçeneğini kullanarak dinamik bir derleme tanımlar. |
| DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence, PermissionSet, PermissionSet, PermissionSet) |
Geçersiz.
Belirtilen ad, erişim modu, depolama dizini, kanıt ve izin isteklerini kullanarak dinamik bir derleme tanımlar. |
| DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence) |
Geçersiz.
Belirtilen adı, erişim modunu, depolama dizinini ve kanıtı kullanarak dinamik bir derleme tanımlar. |
| DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, PermissionSet, PermissionSet, PermissionSet) |
Geçersiz.
Belirtilen adı, erişim modunu, depolama dizinini 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) |
Belirtilen ada ve erişim moduna sahip bir dinamik 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, Evidence, String[], Byte[], AssemblyHashAlgorithm) |
Geçersiz.
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, Evidence, String[]) |
Geçersiz.
Belirtilen dosyada bulunan derlemeyi, belirtilen kanıt ve bağımsız değişkenleri kullanarak yürütür. |
| ExecuteAssembly(String, Evidence) |
Geçersiz.
Belirtilen dosyada bulunan derlemeyi, belirtilen kanıtı kullanarak yürütür. |
| ExecuteAssembly(String, String[], Byte[], AssemblyHashAlgorithm) |
Geçersiz.
Belirtilen dosyada bulunan derlemeyi, belirtilen bağımsız değişkenleri, karma değeri ve karma algoritmasını kullanarak 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) |
Belirtilen dosyada bulunan derlemeyi yürütür. |
| ExecuteAssemblyByName(AssemblyName, Evidence, String[]) |
Geçersiz.
Belirtilen kanıt ve bağımsız değişkenleri kullanarak verilen AssemblyNamederlemeyi yürütür. |
| ExecuteAssemblyByName(AssemblyName, String[]) |
Belirtilen bağımsız değişkenleri kullanarak verilen AssemblyNamederlemeyi yürütür. |
| ExecuteAssemblyByName(String, Evidence, String[]) |
Geçersiz.
Belirtilen kanıt ve bağımsız değişkenleri kullanarak görünen adı verilen derlemeyi yürütür. |
| ExecuteAssemblyByName(String, Evidence) |
Geçersiz.
Belirtilen kanıtı kullanarak görünen adı verilen bir 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. |
| ExecuteAssemblyByName(String) |
Görünen adı verilen bir 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() |
Geçersiz.
Geçersiz.
Geçersiz.
Geçersiz.
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() |
Geçersiz.
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() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| InitializeLifetimeService() |
Kiralamanın oluşturulmasını AppDomain engelleyerek sonsuz bir yaşam süresi verir. |
| InitializeLifetimeService() |
Geçersiz.
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 ayarlanmışsa 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ıldığını gösterir. |
| Load(AssemblyName, Evidence) |
Geçersiz.
Verilen bir Assembly öğesini AssemblyNameyükler. |
| Load(AssemblyName) |
Verilen bir Assembly öğesini AssemblyNameyükler. |
| Load(Byte[], Byte[], Evidence) |
Geçersiz.
öğesini, Assembly yayılan bir içeren ortak nesne dosyası biçimi (COFF) tabanlı görüntüyle Assemblyyükler. için Assembly sembolleri temsil eden ham baytlar da yüklenir. |
| Load(Byte[], Byte[]) |
öğesini, Assembly yayılan bir içeren ortak nesne dosyası biçimi (COFF) tabanlı görüntüyle Assemblyyükler. için Assembly sembolleri temsil eden ham baytlar da yüklenir. |
| Load(Byte[]) |
öğesini, Assembly yayılan bir içeren ortak nesne dosyası biçimi (COFF) tabanlı görüntüyle Assemblyyükler. |
| Load(String, Evidence) |
Geçersiz.
Verilen görünen Assembly adını yükler. |
| Load(String) |
Verilen görünen Assembly adını yükler. |
| MemberwiseClone() |
Geçerli Objectbasit 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) |
Geçersiz.
Bu uygulama etki alanı için güvenlik ilkesi düzeyini oluşturur. |
| SetCachePath(String) |
Geçersiz.
Geçersiz.
Geçersiz.
Derlemelerin gölge kopyalandığı konum olarak belirtilen dizin yolunu oluşturur. |
| 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. |
| SetData(String, Object) |
Belirtilen değeri belirtilen uygulama etki alanı özelliğine atar. |
| SetDynamicBase(String) |
Geçersiz.
Geçersiz.
Geçersiz.
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 sorumluya bağlanmaya çalışırsa, sorumlu ve kimlik nesnelerinin bir iş parçacığına nasıl iliştirilmesi gerektiğini belirtir. |
| SetShadowCopyFiles() |
Geçersiz.
Geçersiz.
Geçersiz.
Gölge kopyalamayı açar. |
| SetShadowCopyPath(String) |
Geçersiz.
Geçersiz.
Geçersiz.
Gölge kopyalanacak derlemelerin konumu olarak belirtilen dizin yolunu oluşturur. |
| SetThreadPrincipal(IPrincipal) |
Bu uygulama etki alanında yürütürken bir sorumluya bağlanmaya çalışırlarsa, 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) |
Geçersiz.
Belirtilen uygulama etki alanını kaldırır. |
Ekinlikler
| Name | Description |
|---|---|
| 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 kaldırılmak üzere olduğunda gerçekleşir. |
| FirstChanceException |
Çalışma zamanı, uygulama etki alanındaki bir özel durum işleyicisi için çağrı yığınını aramadan önce yönetilen kodda bir özel durum oluşturulduğunda gerçekleşir. |
| ProcessExit |
Varsayılan uygulama etki alanının üst işlemi çıktığında gerçekleşir. |
| ReflectionOnlyAssemblyResolve |
Bir 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 eklenmiş 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ı
| Name | Description |
|---|---|
| _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 kullanıma sunulan özelliklere ve yöntemlere erişim sağlar. |