Описание тега appdomain

Домен приложения - это изолированная среда, в которой сборки Microsoft .NET могут быть изолированы, получать определенные разрешения или PermissionSets и выполняться.

Определение:

AppDomain представляет собой домен приложения, в котором скомпилированные сборки Microsoft .NET может быть изолирована от других узлов (либо в корневом приложении или других, отдельных AppDomains). Хотя домены приложений обычно используются для изолирования стороннего или ненадежного кода, их также можно использовать для отделения кода от основного процесса, чтобы предотвратить потенциальную нестабильность в определенном сегменте приложения.

Использование тегов:

Тег appdomain следует использовать при обращении к проблемам, связанным с System.AppDomain класс в Microsoft .NET или связанные с ним проблемы удаленного взаимодействия или процессов.

Пример (C#):

namespace AppDomainExample
{
    using System;
    using System.IO;
    using System.Reflection;
    using System.Security;
    using System.Security.Permissions;
    using System.Security.Policy;

    class Program
    {
        static void Main(string[] args)
        {
            PermissionSet ps = new PermissionSet(PermissionState.None);
            ps.AddPermission(new SecurityPermission(SecurityPermissionFlag.Execution));
            ps.AddPermission(new FileIOPermission(FileIOPermissionAccess.Write, @"C:\"));

            var assembly = Assembly.GetExecutingAssembly();

            AppDomainSetup ads = new AppDomainSetup();
            ads.ApplicationBase = Path.GetFullPath(assembly.Location);
            StrongName fullTrustAssemblies = assembly.Evidence.GetHostEvidence<StrongName>();

            AppDomain domain = AppDomain.CreateDomain("foo", null, ads, ps, fullTrustAssemblies);

        }
    }
}