AppDomain.IsDefaultAppDomain Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Returns a value that indicates whether the application domain is the default application domain for the process.
public:
bool IsDefaultAppDomain();
public bool IsDefaultAppDomain ();
member this.IsDefaultAppDomain : unit -> bool
Public Function IsDefaultAppDomain () As Boolean
Returns
true
if the current AppDomain object represents the default application domain for the process; otherwise, false
.
Examples
The following code example creates a second application domain and displays information about the default domain and the new domain.
using namespace System;
using namespace System::Reflection;
// This method has the same signature as the CrossAppDomainDelegate,
// so that it can be executed easily in the new application domain.
//
static void ShowDomainInfo()
{
AppDomain^ ad = AppDomain::CurrentDomain;
Console::WriteLine();
Console::WriteLine( L"FriendlyName: {0}", ad->FriendlyName );
Console::WriteLine( L"Id: {0}", ad->Id );
Console::WriteLine( L"IsDefaultAppDomain: {0}", ad->IsDefaultAppDomain() );
}
// The following attribute indicates to the loader that assemblies
// in the global assembly cache should be shared across multiple
// application domains.
//
[LoaderOptimizationAttribute(LoaderOptimization::MultiDomainHost)]
int main()
{
// Show information for the default application domain.
ShowDomainInfo();
// Create a new application domain and display its information.
AppDomain^ newDomain = AppDomain::CreateDomain( L"MyMultiDomain" );
newDomain->DoCallBack( gcnew CrossAppDomainDelegate( ShowDomainInfo ) );
return 0;
}
using System;
using System.Reflection;
public class AppDomainIdSnippet
{
// The following attribute indicates to the loader that assemblies
// in the global assembly cache should be shared across multiple
// application domains.
[LoaderOptimizationAttribute( LoaderOptimization.MultiDomainHost)]
public static void Main()
{
// Show information for the default application domain.
ShowDomainInfo();
// Create a new application domain and display its information.
AppDomain newDomain = AppDomain.CreateDomain("MyMultiDomain");
newDomain.DoCallBack(new CrossAppDomainDelegate(ShowDomainInfo));
}
// This method has the same signature as the CrossAppDomainDelegate,
// so that it can be executed easily in the new application domain.
//
public static void ShowDomainInfo()
{
AppDomain ad = AppDomain.CurrentDomain;
Console.WriteLine();
Console.WriteLine("FriendlyName: {0}", ad.FriendlyName);
Console.WriteLine("Id: {0}", ad.Id);
Console.WriteLine("IsDefaultAppDomain: {0}", ad.IsDefaultAppDomain());
}
}
open System
// This method has the same signature as the CrossAppDomainDelegate,
// so that it can be executed easily in the new application domain.
let showDomainInfo () =
let ad = AppDomain.CurrentDomain
printfn $"\nFriendlyName: {ad.FriendlyName}"
printfn $"Id: {ad.Id}"
printfn $"IsDefaultAppDomain: {ad.IsDefaultAppDomain()}"
// The following attribute indicates to the loader that assemblies
// in the global assembly cache should be shared across multiple
// application domains.
[<LoaderOptimizationAttribute(LoaderOptimization.MultiDomainHost)>]
[<EntryPoint>]
let main _ =
// Show information for the default application domain.
showDomainInfo ()
// Create a new application domain and display its information.
let newDomain = AppDomain.CreateDomain "MyMultiDomain"
newDomain.DoCallBack(CrossAppDomainDelegate showDomainInfo)
0
Imports System.Reflection
Public Class Example
' The following attribute indicates to the loader that assemblies
' in the global assembly cache should be shared across multiple
' application domains.
<LoaderOptimizationAttribute(LoaderOptimization.MultiDomainHost)> _
Public Shared Sub Main()
' Show information for the default application domain.
ShowDomainInfo()
' Create a new application domain and display its information.
Dim newDomain As AppDomain = AppDomain.CreateDomain("MyMultiDomain")
newDomain.DoCallBack(AddressOf ShowDomainInfo)
End Sub
' This method has the same signature as the CrossAppDomainDelegate,
' so that it can be executed easily in the new application domain.
'
Public Shared Sub ShowDomainInfo()
Dim ad As AppDomain = AppDomain.CurrentDomain
Console.WriteLine()
Console.WriteLine("FriendlyName: {0}", ad.FriendlyName)
Console.WriteLine("Id: {0}", ad.Id)
Console.WriteLine("IsDefaultAppDomain: {0}", ad.IsDefaultAppDomain())
End Sub
End Class
Remarks
Every managed process has a default application domain. Execution begins in the default domain.